簡體   English   中英

在php准備好的語句中傳遞數組值不起作用

[英]Passing array values in php prepared statement not working

所以我有一個帶有 bind_param 的准備好的語句,如果我將每條數據分配給單獨的變量並在 bind_param 語句中使用這些變量,它就可以正常工作,但是如果我將每條數據分配給一個數組元素並嘗試使用,則它不起作用bind_param 語句中的數組元素。 下面的例子:

這有效: $insertquery->bind_param("sssssssssssssssssssss", $dbname, $dbmanacost, $dbcmc, $dbcolors, $dbtype, $dbsupertypes, $dbtypes, $dbsubtypes, $dbrarity, $dbcardtext, $dbflavortext, $dbartist, $dbnumber, $dbpower, $dbtoughness, $dblayout, $dbmultiverseid, $dbexpansion, $dbexpansioncode, $dbreleasedate, $dbversions);

但這會在數據庫中插入一個空行: $insertquery->bind_param("sssssssssssssssssssss", $db['name'], $db['manacost'], $db['cmc'], $db['colors'], $db['type'], $db['supertypes'], $db['types'], $db['subtypes'], $db['rarity'], $db['cardtext'], $db['flavortext'], $db['artist'], $db['number'], $db['power'], $db['toughness'], $db['layout'], $db['multiverseid'], $db['expansion'], $db['expansioncode'], $db['releasedate'], $db['versions']);

兩個示例中變量的內容完全相同。 我想將單個數組用於組織目的,但我不確定為什么准備好的語句不會讀取數據。

問題是,每次我循環遍歷時,我都會通過重新聲明它來重置數組,例如 $db = array(...) 但顯然這會斷開與准備好的語句的鏈接。 我重寫了代碼以使用 foreach 循環將每個數組元素清空並修復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM