使用简单的 SQL 查询找不到确切的记录。(PHP MySQLi)



我在为公司的新程序中查找特定记录时遇到问题。这是一个非常简单的SQL查询,我一生都无法传递。

有人能看到问题吗?

public function loadByKey($partNumber, $customerNumber, $rev){
$query = 'SELECT *'
.' FROM '.$this->myTableName
.' WHERE PartNumber = ?'
.' AND CustomerNumber = ?'
.' AND Rev = ?';
$conn = (new DBConnector)->connect();
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
$statement = $conn->prepare($query);
//var_dump($statement);
//var_dump($query);
//var_dump($conn);
$statement->bind_param('sis', $partNumber, $customerNumber, $rev);
$result = $statement->execute();
//var_dump($result);
//var_dump($statement);
//var_dump($customerNumber);
//var_dump($rev);
if ($statement->num_rows == 1) {
// output data of each row
$this->Properties = $statement->fetch_assoc();
var_dump($this->Properties);
$conn->close();
return true;
} else {
$this->Properties = [];
$conn->close();
return false;
}  
}

缺少mysqli_stmt_store_result? – ficuscr 在深入研究并阅读我的旧代码之后,这就是答案:

public function loadByKey($partNumber, $customerNumber, $rev){
$query = 'SELECT *'
.' FROM '.$this->myTableName
.' WHERE PartNumber = ?'
.' AND CustomerNumber = ?'
.' AND Rev = ?';
$conn = (new DBConnector)->connect();
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
$statement = $conn->prepare($query);
//var_dump($statement);
//var_dump($query);
//var_dump($conn);
$statement->bind_param('sis', $partNumber, $customerNumber, $rev);
$statement->execute();
$result = $statement->get_result();
var_dump($result);
//var_dump($statement);
//var_dump($customerNumber);
//var_dump($rev);
if ($result->num_rows == 1) {
// output data of each row
$this->Properties = $result->fetch_assoc();
var_dump($this->Properties);
$conn->close();
return true;
} else {
$this->Properties = [];
$conn->close();
return false;
}  
}

最新更新