【发布时间】:2017-04-15 07:39:39
【问题描述】:
<?php
echo "Lets run the program";
$id = 1;
$conn = new mysqli('localhost', 'root', 'root');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$stmt = $conn->stmt_init();
if($stmt->prepare("Select Genre_Name from Practice.genre_list where Genre_ID = ?")){
$stmt->bind_param(i,$id );
$stmt->execute();
$stmt->bind_result(s, $result);
$stmt->fetch();
echo $result;
echo "in if function";
}
else{
echo "some issue";
}
?>
output:
让我们运行程序 警告:mysqli::mysqli(): (HY000/2002): 第 5 行 /Applications/MAMP/htdocs/practice/preparedStatement.php 中没有这样的文件或目录 连接失败:没有这样的文件或目录
在网上搜索后,我检查了 php.ini 文件中的配置,mysql.sock 设置正确,没有问题。 仍然无法弄清楚为什么准备好的语句不起作用,我可以使用 mysqli_connect() 的传统方法进行连接,但不能使用 OOA 方法。
【问题讨论】:
-
new mysqli()有 4 个参数,第四个是你的数据库名称 -
你贴在这里的代码是preparedStatement.php吗?你怎么称呼它?
-
我使用命令行检查代码的工作,即使提到数据库,它也会抛出同样的错误。
-
第 5 行是什么?
-
第 5 行对应连接语句,上面还有 1 个 echo 语句我删除了。第 5 行如下所示 $conn = new mysqli('localhost', 'root', 'root' );
标签: php mysql prepared-statement