-1

を使用してPHPでクエリを実行しようとしていますmysqli_query()

私のクエリは$query、次のように変数に格納されます。

  $query = "INSERT INTO spaces (";
  $keys = '';
    $values = '';
    foreach ($newrow as $key=>$value){
        $keys .= $key.",";
        $values .= "'".$value."',";
    }
    $keys = substr($keys, 0, -1);
    $values = substr($values, 0, -1);
    $query .= $keys;
    $query .= ") values(";
    $query .= $values;
    $query .= ")";`

を使用するecho $queryと、生成されたクエリが表示されます。

ただし、データベースでこのクエリを実行する必要があります。

現在、データベースへの接続を確立するための変数である$result = mysqli_query($success, $query);whereを使用しています。$resultただし、これは機能しておらず、どちらも機能していません$result = mysqli_query($query);

変数をクエリとして正しく渡す方法を理解するのに助けが必要です。

4

2 に答える 2

0

リンクが必要です:

$link = mysqli_connect(DB_SERVER, DB_USER, DB_PASS,DB_NAME);

それで:

$result = mysqli_query($link, $query)

あなたの$successvarには何がありますか?それがリンクの場合、チェックしていますか:

if (mysqli_connect_errno()) {
    return false;  // or whatever other flag that it failed
}
于 2013-08-31T21:51:26.743 に答える
0

基本的にmysqli_queryは、通常どおり呼び出すだけですが、実行するクエリの代わりに、変数を入れることができます。ただし、コードを大幅に簡素化できることに注意してください。

$keys = array_map(function($a) {return "`".$a."`";},array_keys($newrow));
$values = array_map(function($a) {return "'".mysql_real_escape_string($a)."'";},array_values($newrow));
mysqli_query($link,"INSERT INTO spaces (".implode(",",$keys).") values (".implode(",",$values).")");
于 2013-08-31T21:52:32.690 に答える