我是 PHP 的新手..我被困在如何将我的 sql 语句转换为准备好的语句..我得到的错误消息是你“无法连接”..
我的代码如下
$connection = mysql_connect($host,$username,$password) or die ("can't connect");
$select_database = mysql_select_db($db_name);
$id = mysql_real_escape_string ($_GET ['id']);
$query = 'SELECT * from &tbl_name where id=?';
$stmt = $connection->prepare($query);
$stmt->bind_param("d", $id);
$stmt->execute();
$rows=mysql_fetch_array($stmt);
$stmt->close();
最佳答案
你实际上有两个问题。
第一个与您的问题相关的是这一行:
$connection = mysql_connect($host,$username,$password) or die ("can't connect");
您说您收到错误消息无法连接
。这意味着您的数据库连接的主机、用户名和/或密码无效。检查连接信息是否正确,您应该能够解决问题。
第二个是您正在使用 mysql_
连接到您的数据库功能,然后尝试使用 mysqli_
绑定(bind)/执行功能。你不能混搭。
因为您正在尝试使用 OOP 样式进行绑定(bind)/执行,所以这里有一个重新编码的示例应该会有所帮助:
$connection = new mysqli($host, $username, $password);
if ($connection->connect_error) {
die("can't connect");
}
$query = 'SELECT * from tbl_name where id=?';
$stmt = $connecton->prepare($query);
$stmt->bind_param("d", $id);
$results = $stmt->execute();
$rows = $results->fetch_array();
$stmt->close();
关于php - 使用 PHP 准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13361948/