我正在尝试为主持人www.strato.de设置一个mysqli Dummy。 我的问题是,在准备查询然后绑定params时,我的MYSQLI查询是一种非常奇怪的行为。
define("HOST", "rdbms.strato.de"); // Der Host mit dem du dich verbinden willst.
define("USER", "USER"); // Der Datenbank-Benutzername.
define("PASSWORD", "PASSWORD"); // Das Datenbank-Passwort.
define("DATABASE", "DATABASE"); // Der Datenbankname.
// Create connection to Database
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
mysqli_set_charset ($mysqli,"utf8");
if(mysqli_connect_errno()){
echo "Verbindung fehlgeschlagen: ".mysqli_connect_error();
}
else {
echo "success";
}
连接运行没有任何问题。
if ($select_stmt = $mysqli->prepare("SELECT name FROM accounts WHERE id = 1")) {
$select_stmt->execute();
$select_stmt->store_result();
$select_stmt->bind_result($name);
$select_stmt->fetch();
}
else {
echo $mysqli->error();
}
echo "Name: " . $name;
选择aacount数据库的名称也正在运行,没有直接在sql查询中绑定id的问题。
问题出现了将id与$ select_stmt-> bind_param()
绑定在一起if ($select_stmt = $mysqli->prepare("SELECT name FROM accounts WHERE id = ?")) {
$select_stmt->bind_param('s', '1');
$select_stmt->execute();
$select_stmt->store_result();
$select_stmt->bind_result($name);
$select_stmt->fetch();
}
else {
echo $mysqli->error();
}
echo "Name: " . $name;
行为类似于无限循环中的行为。
但是echo "Name: " . $name;
根本没有显示。 echo $mysqli->error();
也是如此。
更多信息:
MySQL-Version:5.5.4
PHPMYADMIN:4.2.12
Apache:2.2.29(Unix)
感谢您的帮助! 我很感激每一个答案。
答案 0 :(得分:1)
解决
我发现只允许在bind_param()中使用变量进行绑定。
像:
$id= '1';
$select_stmt->bind_param('s',$id);