0

PHP でのマルチ クエリの概念を理解するのに苦労しており、何か間違ったことをしているに違いありませんが、何が原因かわかりません。他のフォームからのセッションにデータを保存しています。

<?php 
    $conn=mysql_connect("database","username","password");
    mysql_select_db("host",$conn);

    session_start();

    $insert_query=("INSERT INTO testone_tbl 
                      (age,hours,flexibility,fastpaced,retailexp,workedus,conviction,permit,education)
                    VALUES 
                      ('$age','$hours','$flexibility','$fastpaced','$retailexp','$workedus','$conviction,'$permit','$education') 
                    INSERT INTO equality_tbl 
                      (age,ethnic,disability)
                    VALUES ('$age','$ethnic'.'$disability')");

    mysql_multiquery($insert_query);
?>

挿入する表は他にもたくさんありますが、不必要な繰り返しで質問を「ぶち壊し」たくはありませんでした。誰かが私が間違っていることを説明できるなら、それは大歓迎です、前もって感謝します。

4

3 に答える 3

2

マルチクエリを機能させるには、すべてのクエリをセミコロンで区切る必要がある;ため、次のようになります。

$insert_query = "
    INSERT INTO testone_tbl (age,hours,flexibility,fastpaced,retailexp,
    workedus,conviction,permit,education)
    VALUES ('$age','$hours','$flexibility','$fastpaced','$retailexp','$workedus',
    '$conviction,'$permit','$education'); <--Semicolon
    INSERT INTO equality_tbl 
    (age,ethnic,disability)
    VALUES ('$age','$ethnic'.'$disability')";
于 2012-04-15T14:45:16.480 に答える
0

これを試して、括弧を削除し、クエリの間にセミコロンを追加してください

$insert_query="
    INSERT INTO testone_tbl (age,hours,flexibility,fastpaced,retailexp,
    workedus,conviction,permit,education)
    VALUES ('$age','$hours','$flexibility','$fastpaced','$retailexp','$workedus',
    '$conviction,'$permit','$education');
    INSERT INTO equality_tbl 
    (age,ethnic,disability)
    VALUES ('$age','$ethnic'.'$disability');";
于 2012-04-15T14:46:48.690 に答える
0

のようなものはありませんmysql_multiquery()。そのため、これが返されます。

致命的なエラー:未定義関数 mysql_multiquery() の呼び出し...

関数mysql_multiquery()は未定義です。つまり、存在しません。

代わりに を使用しますが、より安全な mysql iメソッドmysqli_multi_queryを使用する必要があります。また、セミコロン ( ) でクエリを終了することも習慣にしてください。;

// Create mysqli connection
$conn = mysqli_connect("server", "user", "password", "database");

$query  = "INSERT INTO testone_tbl 
             (age,hours,flexibility,fastpaced,retailexp,workedus,conviction,permit,education)
           VALUES 
             ('$age','$hours','$flexibility','$fastpaced','$retailexp','$workedus','$conviction,'$permit','$education');";
$query .= "INSERT INTO equality_tbl 
             (age,ethnic,disability)
           VALUES 
             ('$age','$ethnic'.'$disability');";

// Execute queries
if(mysqli_multi_query($conn, $query)) 
    echo "Success!";
else
    echo "Error";
于 2013-05-17T09:15:44.003 に答える