PHP SQL查询无法执行

时间:2015-07-16 18:02:45

标签: php mysql sql web

<?php
$db = new mysqli("localhost", "HIDDEN", "HIDDEN", "HIDDEN");
if ($db->connect_error) {
    die("Failed to connect.");
}
if (isset($_POST["title"]) && isset($_POST["description"]) && isset($_POST["url"])) {
    $title = $db->real_escape_string($_POST["title"]);
    $description = $db->real_escape_string($_POST["description"]);
    $url = $db->real_escape_string($_POST["url"]);
    $sql = "INSERT INTO video (name, description, submission_date)
    VALUES ('{$title}', '{$description}', CURDATE());
    INSERT INTO video_source (video_id, url)
    VALUES (LAST_INSERT_ID(), '{$url}');";
    if ($db->query($sql) === TRUE) {
        echo "Successfully added.";
    } else {
        echo "Query failed.<br><br>Data: {$title} {$description} {$url}";
    }
} else {
    echo "Data not set.";
}
$db->close();?>

输出“查询失败”。我输入的数据。用常量替换标题等变量仍然存在同样的问题。我在PHPMyAdmin中尝试了查询,它运行正常(使用常量)。

似乎对设置video_id的值感到不满。

1 个答案:

答案 0 :(得分:2)

只要您使用MySQLi运行多个查询,就应该使用multi_query()

while

此外,第二个查询中的var task = Task.Run(/* your lambda */) var finishedTask = await Task.WhenAny(Task.Delay(timeout), task); return finishedTask == task; 不会返回任何类型的值。如果您要查找第一个查询的最后插入值,则必须在运行第二个查询之前返回该值。