簡體   English   中英

使用PHP將數據插入MySQL數據庫

[英]Inserting data into MySQL db using PHP

我將數組傳遞給查詢。 但是,我似乎無法添加每個值`。

Im傳遞的數組是:

Array ( 
        [name] => Name 
        [address_1] => Address 1 
        [address_2] => Address 2 
        [address_3] => Address 3 
        [address_4] => Address 4 
        [post_code] => Post COde 
        [proptype] => rent 
        [style] => house 
        [beds] => 1 
        [bathrooms] => 1 
        [garden] => 1 
        [furnished] => yes 
        [deposit] => Deposit 
        [available] => 10/18/2013 
        [description] => Description 
      )

下面是我的代碼:

    foreach ($data as $column => $value) {
            $columns .= ($columns == "") ? "" : ", ";
            $columns .= $column;
            $values .= ($values == "") ? "" : ", ";
            $values .= $value;
    }

    $sql = "INSERT INTO $table ($columns) VALUES ($values)";

    echo "--->" . $sql;
    exit;

我知道我需要將每個值括起來,但是看不到需要在哪里做。

謝謝你的時間。

嘗試:

foreach ($data as $column => $value) {
    $columns .= ($columns == "") ? "" : ", ";
    $columns .= $column;
    $values .= ($values == "") ? "" : ", ";
    $values .= "'" . $value . "'";
}

您還可以使用一些內置的php函數:

// join column names with a comma
$columns = join(array_keys($data),',');

// pass every value through mysql-escape and join the values with quotes and commas
$values = join(array_map("mysql_real_escape_string",array_values($data)),'","');

// use the produced strings; make sure you wrap the values string with double quotes
$sql = "INSERT INTO $table ($columns) VALUES (\"$values\")";

供參考: array_keysarray_valuesarray_mapmysql_real_escape_stringjoin

出於安全原因,我正在使用mysql_real_escape_string。

暫無
暫無

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

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