Php MySQL空集错误行为
我正在使用MariaDb和php7。我想知道为什么我总是得到错误的结果。这是我的MySQL模式和数据插入脚本-Php MySQL空集错误行为,php,mysql,mariadb,Php,Mysql,Mariadb,我正在使用MariaDb和php7。我想知道为什么我总是得到错误的结果。这是我的MySQL模式和数据插入脚本- CREATE TABLE IF NOT EXISTS `BB_Orders`( `row_id` INT PRIMARY KEY AUTO_INCREMENT, `order_id` VARCHAR(255) NOT NULL DEFAULT '' ) INSERT INTO `BB_Orders`(`row_id`, `order_id`) VALUES(1, '19
CREATE TABLE IF NOT EXISTS `BB_Orders`(
`row_id` INT PRIMARY KEY AUTO_INCREMENT,
`order_id` VARCHAR(255) NOT NULL DEFAULT ''
)
INSERT INTO `BB_Orders`(`row_id`, `order_id`) VALUES(1, '190061603-A')
INSERT INTO `BB_Orders`(`row_id`, `order_id`) VALUES(2, '190604470-A')
INSERT INTO `BB_Orders`(`row_id`, `order_id`) VALUES(3, '191206232-A')
INSERT INTO `BB_Orders`(`row_id`, `order_id`) VALUES(4, '191269277-A')
这是我的PHP函数定义-
function ROWExists($Con, $TableName, $Condition){
$RowID=0;
$SelectStatement = "SELECT `row_id` FROM `".$TableName."` WHERE ";
foreach($Condition as $CKey=>$CValue){
$SelectStatement.="TRIM(`".$CKey."`)=TRIM('".$CValue."') AND ";
}
$SelectStatement=rtrim($SelectStatement, ' AND ');
$SelectStatement.=" LIMIT 1;";
echo 'SELECT STATEMENT: '.$SelectStatement.PHP_EOL;
echo $SelectStatement.PHP_EOL;
$Resultset=mysqli_query($Con, $SelectStatement);
if(!empty($Resultset)){
if($Resultset->num_rows){
while($Result=mysqli_fetch_assoc($Resultset)){
if(!empty($Result)){
$RowID=$Result['row_id'];
}
}
}
}
return $RowID;
}
我使用-
$RowID=ROWExists($Con, 'BB_Orders', array('order_id'=>'190061603-A'));
//returns the 'row_id' correct
$RowID=ROWExists($Con, 'BB_Orders', array('order_id'=>'190061603-Z'));
//returns the 'row_id' incorrect, this should have been 0, but not
$RowID
的值是多少,数据库中的哪一行与之对应?在错误的情况下。对于最后一个函数调用,它类似于Max_Row_ID+1。是否还有其他操作,例如插入?不,我没有插入。echo'SELECT STATEMENT:'。$SelectStatement.PHP\EOL代码>将非常有用。