Hi Thanks but it doesn't work. It's weird because the following works:
$db->exec('UPDATE Anagrafica SET name = "new name" WHERE hID="1"'); //WORKS But this doesn't: $p_name ="new name"; $bind_value = "1"; $stmt = $conn->prepare('UPDATE Anagrafica SET name=? WHERE hID=?'); $stmt->bind_param($p_name,$bind_value); $stmt->exec(); To make things more complex, once this is working, then I would also need to take the parameter "name" of "SET name" from a variable.. Thanks On 21 July 2017 at 10:45, <no...@null.net> wrote: > On Fri Jul 21, 2017 at 06:33:55AM +0000, Edmondo Borasio wrote: > > I am updating a record of a SQLite database as follows: > > > > $db->exec('UPDATE Movies SET name = "new movie" WHERE ID="4"'); > > > > but instead of using name and ID I want to use some variables, > $NewItemName > > and $hId. > > > > Entering the variables as they are won't work. Neither using escape > > characters like \"$DbItemName\" and \"$hId\". > > > > Any idea of the right syntax pls? > > It appears that you are using something like Perl or Ruby to access > your database? If that is the case, then you will find that the > concept of "placeholders" is what you are looking for. > > Typically you specify a "?" (without the quotes) where you want your > variables to be, and then "bind" the variables to those positions > either before or during the exec call. > > Here is the Perl documentation on that topic: > > https://metacpan.org/pod/DBI#Placeholders-and-Bind-Values > > I suggest you look up the equivalent in whatever language you are > using. > > -- > Mark Lawrence > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users