我在将数据插入数据库时遇到问题。这是我第一次处理SQL注入。
$stmt = $dbConnection->prepare('INSERT INTO users(name) VALUES('name = ?')');
$stmt->bind_param('s', $name);
$stmt->execute();
但这行不通。任何帮助都会被通知!
您的代码中有一些语法错误。试试这个:
$stmt = $dbConnection->prepare('INSERT INTO users (name) VALUES (:s)');
$stmt->bindParam(':s', $name);
$stmt->execute();
如果你想插入和定义更多的值,可以这样做:
$stmt = $dbConnection->prepare('INSERT INTO users (name, email) VALUES (:s, :email)');
$stmt->bindParam(':s', $name);
$stmt->bindParam(':email', $email);
$stmt->execute();
如果您使用mysqli
,您的代码将如下所示:
$stmt = $dbConnection->prepare('INSERT INTO users (name) VALUES (?)');
$stmt->bind_param('s', $name);
$stmt->execute();
SQL中不需要name =
,列名在列表(name)
中指定在表名之后。只需将一个?
放在您通常放置值的位置。
$stmt = $dbConnection->prepare('INSERT INTO users(name) VALUES(?)');
$stmt->bind_param('s', $name);
$stmt->execute();