0
public function multiQueryInsert($query){
    if($this->conn->multi_query($query)){
        do{
            $this->conn->store_result();
            /*if($result = $this->conn->store_result()){
                while($row = $result->fetch_row()){
                    return $row;
                }*/
                //$result->free();
            //}
            $this->conn->more_results();
        }
        while($this->conn->next_result());
        return true;
    }
    else{
        return $this->conn->errno;
    }
    $this->conn->close();
}

$query = "INSERT INTO `table_name`(`name`, `phone`, `address`, `email`, `cell`, `pcf`, `church`, `group`, `zone`, `dob`, `occupation`, `status`) VALUES ('$names','$phone','$address','$email','$cell','$pcf','$church','$group','$zone','$dob','$occupation','$status')";
$username = explode(' ',$names);
$fname = strtolower($username[0]);
$password = $data;
$query .= "INSERT INTO `table_name2` (`uid`, `pswd`, `Name`, `Email`) VALUES ('$fname','$password','$names','$email')";

if($db->multiQueryInsert($query) === TRUE){
    echo '<div class="success">Partner added successfully</div>';
}
else{
    die('Error adding partner: '.$db->conn->error);
}

最初のコードは multi_query を実行するメソッドで、他のコードはメソッドに渡されるクエリです。スローされるエラーは、パートナーの追加中にエラーが発生しました:

SQL 構文にエラーがあります。次の場所で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

"INSERT INTO `cec_users` (`uid`, `pswd`, `Name`, `Email`) VALUES ('kjvhm,bhjkl','')" at line 1
4

1 に答える 1

2

semicolon次のように、最初の挿入クエリの最後で使用してみてください。

$query = "INSERT INTO `table_name`(`name`, `phone`, `address`, `email`, `cell`, `pcf`, `church`, `group`, `zone`, `dob`, `occupation`, `status`) VALUES ('$names','$phone','$address','$email','$cell','$pcf','$church','$group','$zone','$dob','$occupation','$status');";
于 2013-07-31T13:05:17.997 に答える