PHP MySQL查询不会插入(PHP MySQL Query Doesn't Insert

2019-09-17 21:32发布

我有一些问题,试图插入查询到数据库中。 我有这个PHP形式应该做插入查询,但没有任何反应,甚至不是一个错误。

这是一个示例查询与以下形式:

INSERT INTO FlashVideoList ('title', 'urltitle', 'description', 'tags', 'category', 'filename', 'filetype', 'size', 'uploadedbyuser', 'uploadtime') VALUES ('testtitle','testtitle','test','testtags','FlashVideo','SMILE!.swf','application/x-shockwave-flash','1007525','0','1339102426'); 

我呼应了查询的内容得到这个

这是PHP代码:

function MySqlQuery($Query)
{
    // Invokes global connection info
    global $MySQL_Host, $MySQL_Username, $MySQL_Password, $MySQL_Database, $MySQL_Port;
    global $mysqli;

    // runs query
    $result = $mysqli->query($Query);
    return $result;
}

$mysqli = new mysqli($MySQL_Host, $MySQL_Username, $MySQL_Password, $MySQL_Database, $MySQL_Port);

    MySqlQuery("INSERT INTO FlashVideoList ('title', 'urltitle', 'description', 'tags', 'category', 'filename', 'filetype', 'size', 'uploadedbyuser', 'uploadtime') " .
    "VALUES ('" . $mysqli->real_escape_string($_SESSION['Title']) . "','" . $mysqli->real_escape_string(GetUrlTitle()) . "','" . $mysqli->real_escape_string($_SESSION['Description']) . "','" .
    $mysqli->real_escape_string($_SESSION['Tags']) . "','" . $_SESSION['Category'] . "','" . $mysqli->real_escape_string($FlashFileName) . "','" . $mysqli->real_escape_string($_FILES["file"]["type"]) . "','" .
    $mysqli->real_escape_string($_FILES["file"]["size"]) . "','" . $mysqli->real_escape_string($UploadUserID) . "','" . time() . "');");

mysqli_free_result($result);
mysqli_close($mysqli);

任何帮助appereciated,由于选择查询做工精细与此相同的代码

编辑:好吧,我已经取得了一些进展,似乎一切可能不对这个代码:P所以是的,这是我现在的查询:

INSERT INTO FlashVideoList (`title`, `urltitle`, `description`, `tags`, `category`, `filename`, `filetype`, `size`, `uploadedbyuser`, `uploadtime`) VALUES (`letitle`,`letitle`,``,`tagzz`,`FlashVideo`,`585336_pokemonsnewgrounds.swf`,`application/x-shockwave-flash`,`5058231`,`0`,`1339103842`); 

如果我直接通过Navicat的运行它,我得到的错误:

[Err] 1054 - Unknown column 'letitle' in 'field list'

谁知道我做错了吗? :/

Answer 1:

使用msysqli_error()以帮助找出错误

例如。 mysqli_query($query) or die(mysqli_error());



Answer 2:

阅读错误消息。 是什么错误? 嗯,这是另外一个问题,但它会说,为什么插入失败1。

一(但也许不是唯一的),如提及评论的问题是, '是不是一个有效的标识符引号,并由此以解析错误的结果。 在MySQL默认是` ,但它是可以改变的(以"如果使用) ANSI报价 。

INSERT INTO FlashVideoList (`title`, ...)

1 下面是基本的错误处理的一个例子为mysqli的(滚动到底部)。 其基本思路是,如果该query返回false,那么一些失败和error可/应咨询。

另外,我建议你清理代码,并摆脱了“代理”功能调用。



Answer 3:

为什么要使用摆在首位反引号(或单引号)? 他们让您使用保留字,但是这不是我想传播。 使用明智的列名来代替。



文章来源: PHP MySQL Query Doesn't Insert
标签: php mysql mysqli