我正在尝试使用PDO预处理语句运行SQL查询
$sql = "INSERT INTO tickets (ticketnumber, status) VALUES (1234, Open) ";
$stmt = $connection->prepare($sql);
$stmt->execute();
但它只是不插入。我做错了什么?
这是我的联系:
$host = "localhost";
$db_name = "";
$username = "";
$password = "";
$connection = new PDO("mysql:host={$host};dbname={$db_name}", $username, $password);
答案 0 :(得分:3)
试试这个。它更加安全。 确保已包含连接文件。
<强> EDITED 强>
$sql = "INSERT INTO `tickets` (ticketnumber, status) VALUES (:ticketnumber, :status)";
$stmt = $connection->prepare($sql);
$stmt->bindValue(':ticketnumber', 1234, PDO::PARAM_INT);
$stmt->bindValue(':status', 'Open', PDO::PARAM_STR);
$stmt->execute();
此外,上面使用的命名参数必须用 NOT 括在引号中。如果这样做,它将被视为文字字符串而不是命名参数。
答案 1 :(得分:2)