PHP / SQL预准备语句的正确语法是什么?

时间:2020-06-13 22:30:57

标签: php mysql

我最近创建了一个PHP / SQL准备好的语句,其中仅传递了一个变量。但是它没有准备。我的猜测是,这可能是由于语法。我做错了什么?

$sql = "INSERT INTO notes (noteText) VALUES ?";

我们将不胜感激。谢谢

2 个答案:

答案 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();

具有指定参数的个人偏好。对我来说,跟他们在一起更容易:)