준비된 쿼리를 사용하려고하는데이 코드는 작동하지 않습니다. 단지 prepare()를 처음 사용할 때만 붙어 있습니다. 주먹에 댓글을 달면 if()는 아무 것도하지 않고, 이제는 두 번째 것에 붙어 있습니다. 연결 문제 없음/오류 없음, 막힘.준비된 쿼리가 작동하지 않습니다 PHP
mysqli_query()를 사용하여이 모든 작업을 수행하면 모든 것이 훌륭하게 작동합니다. 내가이
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";
} ...
같은 코드를 변경하는 경우
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;
}
및 디버깅에 대한
, 난 단지 "1"페이지에서 볼 수 있습니다. 클래스의시작 : 당신은 결코 execute()
그래서 아무것도 일어나지 않습니다
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
오류를 실제로 검사하고 로그 아웃하시기 바랍니다. 현재 코드는 DB 상호 작용에서 전혀 오류 처리를하지 않습니다. –
@RST이 경우에는 하나의'= '가 필요합니다. –