[英]Check if $var1 OR $var2 values are found in string AND if $var3, $var4 and $var5 is in the same string
[英]Is there a better way to insert values to MySQL query than just VALUES($var1, $var2, $var3)?
我只有 15 個值的數組,所有這些值都需要插入到表中。 我只是想知道是否有這樣的事情:
INSERT INTO table VALUES($myarrayofvalues)
只是好奇,會很有用。
更新:
只有一行 15 列。
$query = "INSERT INTO table VALUES('" . implode("', '", $myarrayofvalues) . "')";
編輯:
如果您還沒有完成 escaping,您可以在上述語句之前的一個小循環中執行此操作,例如:
foreach($myarrayofvalues as $k=>$v)
$myarrayofvalues[$k] = mysql_real_escape_string($v);
雖然您可以執行Rick的答案中顯示的內容,但它對 SQL 注入開放。
如果沒有某種列映射,確實沒有什么好的方法可以做到這一點。 那就是 state 元素 1 是一個字符串,元素 2 是一個 integer。
因此,我看到兩個選擇:
逃離一切
$values = array(); foreach ($myarrayofvalues as $value) { $column[].= "'". mysql_real_escape_string($value). "'"; } $sql = "INSERT INTO table VALUES(". implode(',', $values). ")";
寫出完整的 SQL 語句
$sql = "INSERT INTO table (column1_string, column2_int, ...) VALUES ('". mysql_real_escape_string($myarray[0]). "', ". (int)$myarray[1]. ", ...)
我更喜歡#2,因為它更具可讀性且不那么脆弱。 目前,如果您的架構或數組發生更改,您的代碼就會中斷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.