我試圖通過數組插入多個值到MySQL中,但它不工作或傳遞錯誤消息,所以我不知道我要去哪裏出錯。任何幫助,將不勝感激。PHP mysqli插入命令
這裏就是我所說的功能
$testArrayList = array();
$testArrayList[] = 'Account_idAccount';
$testArrayList[] = 'firstName';
$testArrayList[] = 'lastName';
$testArrayValues = array();
$testArrayValues[] = $idAccount;
$testArrayValues[] = $firstName;
$testArrayValues[] = $lastName;
$dbManager->insertValues("User", $testArrayList, $testArrayValues);
現在,這裏是功能可按被稱爲insertValues。
public function insertValues($table, $cols, $values) {
foreach ($cols as $col)
$colString .= $col.',';
foreach ($values as $value)
{
$valueAmount .= '?,';
$valueType .= 's';
$valueParam .= $value.",";
}
$colString = substr($colString, 0, -1);
$valueAmount = substr($valueAmount, 0, -1);
$valueParam = substr($valueParam, 0, -1);
$mysqli = new mysqli(DBHOST, DBUSER, DBPASSWORD, DBDATABASE);
$sql = "INSERT INTO $table ($colString) VALUES($valueAmount)";
/* Prepared statement, stage 1: prepare */
if (!($stmt = $mysqli->prepare($sql))) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
print_r($valueParam);
/* Prepared statement, stage 2: bind and execute */
if (!$stmt->bind_param("$valueType", $valueParam)) {
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
/* explicit close recommended */
$stmt->close();
$mysqli->close();
}
那你得到什麼錯誤? – 2013-03-18 21:57:07
我沒有收到任何錯誤。我只知道它不工作,因爲我在數據庫中看不到我的值。我注意到,之前我會圍繞 - > bindParam函數引用引號,以至於我會得到錯誤,現在我擁有它的方式我沒有得到錯誤,但我也沒有任何值數據庫。 – AlexHeuman 2013-03-18 22:02:16
你有沒有做過任何調試? – 2013-03-18 22:02:52