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()未定义,这意味着它不存在。

相反,使用mysqli_multi_query,但因此您必须使用更安全的 mysql i方法。还要尝试养成以分号 ( ;) 结束查询的习惯。

// 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 回答