0
我在做一些荒謬可笑的事情嗎? (2)mysqli_stmt_fetch()。條目存在,但沒有打印
while(mysqli_stmt_fetch($ selectCust))將不會執行。 我經歷了一切的一步一步,並出現在數據庫中的條目。 如果條目是原創的,if語句將正確執行。
我在mysql中完成了這個完整的表單,並且它工作正常。 我只是無法獲取與預處理語句一起工作,所以我確定它不是 是邏輯錯誤。
Creating prepared statements and binding params
$insertCust = mysqli_prepare($mysqli,
"INSERT INTO `mp434`.`CUSTOMERS` (
`CUST_ID`,
`NAME` ,
`EMAIL` ,
`PASSWORD` ,
`ADDRESS`
)
VALUES (
?, ?, ?, ?, ?
)");
mysqli_stmt_bind_param($insertCust, 'sssss', $null, $name, $email, $password, $address);
$selectCust = mysqli_prepare($mysqli,
"SELECT *
FROM `CUSTOMERS`
WHERE `NAME` LIKE ?
AND `EMAIL` LIKE ?
AND `PASSWORD` LIKE ?
AND `ADDRESS` LIKE ?");
mysqli_stmt_bind_param($selectCust, 'ssss', $name, $email, $password, $address);
//Find num Rows to see if cust is preexisting
mysqli_stmt_execute($selectCust);
mysqli_stmt_store_result($selectCust);
$numRows = mysqli_stmt_num_rows($selectCust);
mysqli_stmt_close($selectCust);
//if preExisting gives Cust ID
//if not fetches custId
if ($numRows == 0)
{
mysqli_stmt_execute($insertCust);
mysqli_stmt_store_result($insertCust);
$custID = mysqli_stmt_insert_id($insertCust);
mysqli_stmt_close($insertCust);
}
else
{
print "hello1";
mysqli_stmt_execute($selectCust);
mysqli_stmt_bind_result($selectCust, $a,$b,$c,$d,$e);
print "hello You2";
while (mysqli_stmt_fetch($selectCust))
{
print "hello You3";
print "results are: $custID $b $c $d $e <br>";
}
mysqli_stmt_close($selectCust);
}
echo $custID;
echo $numRows;
你是絕對正確的。我重新準備並反彈,並且完美運作。謝謝,我以前從未使用過mySqli。 – 2013-03-02 01:06:17