我在将数据插入数据库时遇到问题。这是我第一次处理SQL注入。
$stmt = $dbConnection->prepare('INSERT INTO users(name) VALUES('name = ?')');
$stmt->bind_param('s', $name);
$stmt->execute();
但这不起作用。任何帮助都会受到欢迎!
答案 0 :(得分:3)
您的代码中存在一些语法错误。试试这个:
b
如果要插入和定义更多值,请执行以下操作:
$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
答案 1 :(得分:2)
您在SQL中不需要name =
,列名在表名后的列表(name)
中指定。只需将?
放在通常放置值的位置。
$stmt = $dbConnection->prepare('INSERT INTO users(name) VALUES(?)');
$stmt->bind_param('s', $name);
$stmt->execute();