Can';使用简单的SQL查询无法找到精确的记录。(PHP MySQLi)
我在为公司的新计划中查找特定记录时遇到问题。这是一个可笑的简单SQL查询,我一生都无法通过 有人能看到问题吗Can';使用简单的SQL查询无法找到精确的记录。(PHP MySQLi),php,sql,mysqli,Php,Sql,Mysqli,我在为公司的新计划中查找特定记录时遇到问题。这是一个可笑的简单SQL查询,我一生都无法通过 有人能看到问题吗 public function loadByKey($partNumber, $customerNumber, $rev){ $query = 'SELECT *' .' FROM '.$this->myTableName .' WHERE PartNumber = ?' .' AND Customer
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\u stmt\u存储\u结果?-菲库斯克 在深入研究并阅读我的旧代码之后,以下是答案:
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;
}
}
和怎么了?从等式中删除代码后,SQL还能工作吗?错误是什么?请在执行后检查。还要检查num_rows是否实际等于1,或者是否有更多或更少的行。缺少?我正在发送我知道在我的数据库中的数据,不能使用实际的零件号,以免NDA损坏,但我已经准确输入了我需要的,我可以找到任何结果。在我的PartCollection对象中,我有“like”语句可以工作,但精确匹配总是失败