我最近创建了一个PHP / SQL准备好的语句,其中仅传递了一个变量。但是它没有准备。我的猜测是,这可能是由于语法。我做错了什么?
$sql = "INSERT INTO notes (noteText) VALUES ?";
我们将不胜感激。谢谢
答案 0 :(得分:0)
尝试此代码
$sql = "INSERT INTO notes (noteText) VALUES (?)";
我将?
的{{1}}放在了括号内。
有关更多信息,请查看https://www.w3schools.com/php/php_mysql_prepared_statements.asp
答案 1 :(得分:0)
使用几种不同方法的完整示例:
// MySQLi
$conn; // connection variable
$stmt = $conn->prepare("INSERT INTO notes (noteText) VALUES (?)");
$stmt->bind_param('s', $noteText);
$noteText = "Lorem Ipsum....";
$stmt->execute();
// PDO with Named Parameters
$db; // Database Handler
$sql ="INSERT INTO notes (noteText) VALUES (:noteText)";
$noteText = "Lorem Ipsum....";
$stmt = $db->prepare($sql);
$stmt->bindParam(':noteText', $noteText, PDO::PARAM_STR);
$stmt->execute();
具有指定参数的个人偏好。对我来说,跟他们在一起更容易:)