我在谷歌搜索时在一些代码示例中发现了这一点:
$sql = 'INSERT INTO users (username,passwordHash) VALUES (?,?)';
这对我来说是新的,但我猜它是一种替代方法,相当于
$sql = "INSERT INTO users (username,passwordHash) VALUES ($username,$passwordHash)";`
或
$sql = 'INSERT INTO users (username,passwordHash) VALUES (' . $username . ',' . $passwordHash . ')';`
这样对吗?它是实际的 PHP 语法,还是他只是想简化他的示例?
谢谢大家的反馈
最佳答案
这在 prepared statements 中很常见. ?
仅用作占位符,如下面的 PHP 文档所示:
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
关于php - 这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632744/