Php 我的MySQL查询有什么问题?

Php 我的MySQL查询有什么问题?,php,mysql,Php,Mysql,因此,我有一个表单,它使用ajax发布到我的php文件,并且成功了。但是下面的查询没有插入任何内容。有人能帮我理解我做错了什么吗 我的php文件: <?php include 'connect.php' ; $type = mysql_real_escape_string($_POST['type']); $title = mysql_real_escape_string($_POST['title']); $content = mysql_real_escape_string($

因此,我有一个表单,它使用ajax发布到我的php文件,并且成功了。但是下面的查询没有插入任何内容。有人能帮我理解我做错了什么吗

我的php文件:

<?php

include 'connect.php' ;

$type = mysql_real_escape_string($_POST['type']);

$title = mysql_real_escape_string($_POST['title']);

$content = mysql_real_escape_string($_POST['content']);

if ($type == 'Just Text') {

    mysql_query("INSERT INTO articles (title, type, thisisaninteger, content) VALUES ('".$title."', '".$type."', 0, '".$content."')")or die("MySQL Error: " . mysql_error());

}

?>

如果您没有收到任何错误,并且插入的
没有发生,很可能是因为
If
语句不正确。验证
$type
是否与
仅文本匹配


您还应该使用插入值,并且使用或-将帮助您确定是哪一个。

如果您没有收到任何错误,并且插入的
没有发生,很可能是因为
If
语句不正确。验证
$type
是否与
仅文本匹配

您还应该使用插入值,并且使用或-将帮助您决定使用哪一个。

首先,在if语句后回显“something”,并使用ajax post调用数据。您可以找出if语句是否有效,然后尝试按如下方式格式化变量

mysql_query("INSERT INTO articles (title, type, thisisaninteger, content) VALUES ('$title', '$type', 0, '$content')")or die("MySQL Error: " . mysql_error());
首先,在if语句后回显“something”,并使用ajax帖子调用数据。您可以找出if语句是否有效,然后尝试按如下方式格式化变量

mysql_query("INSERT INTO articles (title, type, thisisaninteger, content) VALUES ('$title', '$type', 0, '$content')")or die("MySQL Error: " . mysql_error());

好吧,这对我来说是个愚蠢的错误。有些列我没有包括在内,也没有给它们赋值。谢谢大家的帮助。

好吧,这对我来说是个愚蠢的错误。有些列我没有包括在内,也没有给它们赋值。谢谢大家的帮助。

我只想投下正式的一票/推荐票,赞成也改用a。尽管使用了mysql\u real\u escape\u字符串,但通过字符串连接将SQL语句组合在一起既不是必要的,也不是一个好主意。老实说,我发现准备好的语句比典型的字符串连接练习更容易阅读:

$stmt = $dbh->prepare("SELECT * FROM users WHERE USERNAME = ? AND PASSWORD = ?");
$stmt->execute(array($username, $password));

我只是想投一张正式的票/推荐票,赞成也改用a。尽管使用了mysql\u real\u escape\u字符串,但通过字符串连接将SQL语句组合在一起既不是必要的,也不是一个好主意。老实说,我发现准备好的语句比典型的字符串连接练习更容易阅读:

$stmt = $dbh->prepare("SELECT * FROM users WHERE USERNAME = ? AND PASSWORD = ?");
$stmt->execute(array($username, $password));


你有什么错误?你确定$type等于'Just Text'吗?
$type=='Just Text'
是否曾经等于true?正在执行您的查询吗?有错误消息吗?它等于“只是文本”,我没有收到错误。屏幕上的一切都很好。我建议删除
if($type)
语句并执行硬编码查询,看看是否有效<代码>mysql_查询(“插入到acticles(标题、类型、整数、内容)值('test'、'test',3、'test');)或die(mysql_error())mysql_错误的输出是什么?您得到了什么错误?你确定$type等于'Just Text'吗?
$type=='Just Text'
是否曾经等于true?正在执行您的查询吗?有错误消息吗?它等于“只是文本”,我没有收到错误。屏幕上的一切都很好。我建议删除
if($type)
语句并执行硬编码查询,看看是否有效<代码>mysql_查询(“插入到acticles(标题、类型、整数、内容)值('test'、'test',3、'test');)或die(mysql_error())mysql_错误的输出是什么?我如何验证
$type
是否等于
Just Text
。使用ajax,我让它在发布之前提醒这个值,它确实等同于
文本。有没有理由在发布时不再使用它?另外,我删除了if语句,但它仍然不会插入。我将您的检查为已接受,因为我阅读了那篇文章,从现在起我将使用准备好的语句。我如何验证
$type
是否等于
仅为Text
。使用ajax,我让它在发布之前提醒这个值,它确实等同于
文本。有没有理由在发布时不再使用它?另外,我删除了if语句,但它仍然不会插入。我将您的检查为已接受,因为我读了那篇文章,从现在起我将使用准备好的语句。即使没有我的if语句,它也不会被放入表中。即使没有我的if语句,没有人把它放在桌子上。是的,多亏了你们,我现在才发现这一切。我已经使用mysql\u real\u escape\u string很长时间了。使用mysql\u real\u escape\u string()肯定比仅仅将查询字符串或表单post中的未转义值扔进SQL语句要好很多(SQL注入攻击…),但参数化查询无疑是一种方法。祝你好运是啊,多亏了你们,我现在才发现这一切。我已经使用mysql\u real\u escape\u string很长时间了。使用mysql\u real\u escape\u string()肯定比仅仅将查询字符串或表单post中的未转义值扔进SQL语句要好很多(SQL注入攻击…),但参数化查询无疑是一种方法。祝你好运