我正在嘗試使用準備好的查詢,但此代碼無法正常工作,它只是第一次使用prepare()。評論拳頭if()什麼都不做,現在它在第二。沒有連接問題/沒有錯誤,只是卡住了。準備好的查詢不起作用PHP
如果我只使用mysqli_query()來完成所有工作,那麼所有工作都很好。
function addUser($id){
/*
if ($stmt = $this->mysqli->prepare("SELECT * FROM Users WHERE ID = ?")){
if (!($stmt->bind_param("s", $id))){
return false;
}
if ($stmt->execute()) {
if ($stmt->num_rows!=0){
return false;
}
}else{
return false;
}
}else{
return false;
}*/
if ($stmt = $this->mysqli->prepare("INSERT INTO Users VALUES (?, '')")) {
if (!$stmt->bind_param("s", $id)) {
return false;
}
if (!$stmt->execute()) {
return false;
}
return true;
}
return false;
}
和有關調試,如果我改變這樣
function addUser($id){
echo "1";
if ($stmt = $this->mysqli->prepare("SELECT * FROM Users WHERE ID = ?")){
echo "2";
if (!($stmt->bind_param("s", $id))){
return false;
} ...
}else{
echo "3";
} ...
的代碼,我會看到只有「1」的頁面上。類的
開始:
class db{
private $mysqli;
function __construct($ip, $login, $password, $database){
$this->mysqli = new mysqli($ip, $login, $password, $database) or die("Problem with DB connection!");
$this->mysqli->set_charset("utf8");
}
單'='你分配一個值,雙您比較。哎呀,別介意,誤解你的代碼 – RST 2014-09-26 21:10:53
我建議你實際檢查並註銷你的錯誤。目前,您的代碼在數據庫交互中完全沒有錯誤處理。 – 2014-09-26 21:11:00
@RST在這種情況下需要一個'='。 – 2014-09-26 21:13:26