<?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方法。
发布于 2016-11-30 20:46:43
我假设你在Linux上运行。PHP.ini文件中用于mysql.default_socket的设置没有指向mysql。
打开命令行并键入:
locate mysql.sock然后,编辑您的PHP.ini并设置:
mysql.default_socket = /path/to/mysql.sock用mysql.sock代替/path/to/mysql.sock
文件很可能位于/var/lib/mysql/mysql.sock中,但它可能因服务器而异。
https://stackoverflow.com/questions/40897563
复制相似问题