在php中处理我的插入查询的问题

时间:2015-04-17 19:35:46

标签: php sql

您好我的查询有问题,不断从我的查询中获取错误

这是我的错误;

  

错误:BEGIN; INSERT INTO our_workid)VALUES(' 6');插入   our_work_portf_imgportf_idimg_id)价值观(' 6',' 7');插入   INTO our_work_imagesimg_idimage)价值观(' 7',' adawd.jpg');   承诺;您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近&{39; INSERT INTO our_workid)VALUES(' 6');插入'our_wo'   在第3行

我已经尝试了很多东西,但是我注意到有一件事,如果我复制$ query字符串,我直接在mysql中发布查询,问题将无法解决,它的工作原理我希望如何。

有没有人注意到我的查询中存在问题,导致我无法理解。

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

if(isset($_POST['submit_new_img'])){ 

$pjt_dtls = $_POST['project_details'];
$categories = $_POST['categories'];
$link = $_POST['link'];
$image_path = "adawd.jpg";//$_POST['file']; //$_POST['image'];

$row_id ='6';//++$num_rows['i'];
$image_id ='7'; //++$num_rows['ii'];

$sql = "
    BEGIN;

    INSERT INTO `our_work` 
     (`id`)
    VALUES
     ('{$row_id}');

    INSERT INTO `our_work_portf_img`
     (`portf_id`, `img_id`) 
    VALUES
     ('{$row_id}', '{$image_id}');

    INSERT INTO `our_work_images`
     (`img_id`, `image`) 
    VALUES
     ('{$image_id}', '{$image_path}');

    COMMIT;
";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
}

1 个答案:

答案 0 :(得分:0)

$conn->query($sql)无法与您的多查询一起使用

您需要使用multi_query代替

这里还有很好的评论:

  

请注意,最后一个分号后不需要分号   查询。这浪费了我一个多小时的时间......