gpt4 book ai didi

php - 帮助排查 PDO 准备语句

转载 作者:可可西里 更新时间:2023-11-01 00:38:39 24 4
gpt4 key购买 nike

我刚刚开始学习关于 PDO 和准备好的语句(这似乎肯定比记住每次都使用 mysql_real_escape_string() 更好)但是我无法正确执行脚本:

<?php
error_reporting(E_ALL);
echo "start";

try{
$dbh=new PDO('mysql:host=localhost;dbname=DBNAME','USER','PWD');
}
catch(PDOException $e){
echo 'Error connecting to MySQL!: '.$e->getMessage();
exit();
}

$dbh->prepare('SELECT * FROM users WHERE uid= ?');
$dbh->execute(array('15400743'));
$result=$dbh->fetchAll();
print_r($result);
echo "end";
?>

这几乎是从示例代码中复制的,但执行时只返回“开始”。我已经仔细检查了我的数据库/用户/密码。还有什么其他人看错了吗?谢谢!

最佳答案

正确的做法是:

<?php
error_reporting(E_ALL);
echo "start";

try{
$dbh=new PDO('mysql:host=localhost;dbname=DBNAME','USER','PWD');
}
catch(PDOException $e){
echo 'Error connecting to MySQL!: '.$e->getMessage();
exit();
}

$stmt = $dbh->prepare('SELECT * FROM users WHERE uid= ?');
$stmt->execute(array('15400743'));
$result = $stmt->fetchAll();
print_r($result);
echo "end";
?>

注意 prepare 对 $stmt 变量的赋值以及之后的使用。

关于php - 帮助排查 PDO 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1495918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com