簡體   English   中英

SQL查詢中的數組值?

[英]Array values in SQL query?

$sql = mysql_query("INSERT INTO `users` VALUES(
        '',
        '$form['name']',
        '$form['saddress']',
        '$form['apt']',
        '$form['zip']',
        '$form['homephone']',
        '$form['cellphone']',
        '$form['email']',
        '$form['    ']',
        '$form['city']',
        '$form['state']',
        '$form['country']',
        '$salt','$hash',
        '$form['username']'
    )");

我將如何進行這項工作? 它給我Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

嘗試在變量周圍使用大括號,如下所示:

..
'{$form['name']}',
'{$form['saddress']}',
..

通過從$form['x']刪除單引號或執行以下操作:

mysql_query("INSERT INTO x VALUES(
  '" . mysql_real_escape_string($form['x']) . "',
  '" . mysql_real_escape_string($form['x']) . "'
");

請注意,單引號內有雙引號。

這是一個經典的問題,源於PHP解析字符串以獲取變量的能力,這可能會造成混淆。 我更喜歡將變量保留在字符串之外,並在需要時進行連接。

這就是我要做的事情:

$sql = mysql_query("INSERT INTO `users` VALUES('" .
    implode("','", array(
        "",
        $form['name'],
        $form['saddress'],
        $form['apt'],
        $form['zip'],
        $form['homephone'],
        $form['cellphone'],
        $form['email'],
        $form['    '],
        $form['city'],
        $form['state'],
        $form['country'],
        $salt,
        $hash,
        $form['username']
    )) . "')";
);

暫無
暫無

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

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