我需要提示如何让我的插入代码在php和mysql中工作

问题描述:

我在更新数据并将数据插入到数据库时遇到问题。我调试了大部分程序,所以我确定问题是更新代码行和插入数据的代码行。我很困惑,因为它们是使用相同代码的其他函数,并且我在每个函数中使用的所有变量都在函数中进行了本地声明,所以我知道它们并不冲突。顶部表示 的代码是打开与数据库和php的通信线路的所有数据库代码。该代码的作品我已经在其他程序中测试过。我仍然可以使用数据库中的SELECT代码抽取数据,并且检查并重复检查名称是否与表匹配。这段代码是一些ajax代码的一部分,所以它会实时更新,但是我使用javascript来传输数据就好了。所以我不知道自己做错了什么,或者服务器有什么问题。如果任何人有任何想法,请让我知道。此代码的目的是让用户可以喜欢,最喜欢的,并给出他们在我的网站上查看的内容的5颗星的评分。我需要提示如何让我的插入代码在php和mysql中工作

这是代码:

<?php include "base.php";?> 
</head> 
<?php 
$rateMe = mysql_query("SELECT * FROM rating WHERE Username = '".$_SESSION['Username']."' AND Title = '".$_POST['myTitle']."'"); 
if(mysql_num_rows($rateMe) == 0) 
{ 
    $registerquery = mysql_query("INSERT INTO rating (Username, Author, Star, Like, Favorite, Title) VALUES('".$_SESSION['Username']."','".$_POST['myAuthor']."','".$_POST['myrating']."','".$_POST['myLike']."', '".$_POST['myFavorite']."', '".$_POST['myTitle']."')"); 
}else 
{ 
    $makeUpdate = mysql_query("UPDATE rating SET Star = '".$_POST['myrating']."' WHERE Username = '".$_SESSION['Username']."' AND Title = '".$_POST['myTitle']."'"); 
} 
?> 

,这是我试图将数据插入到

表的表:评分

用户名VARCHAR(255)

作者varchar(255)

星浮标

像VARCHAR(255)

收藏VARCHAR(255)

标题为varchar(255)

+1

sql注入任何人? – 2012-07-30 22:27:08

+1

OP,请尝试回显查询,然后尝试使用某个MySQL客户端(例如phpMyAdmin)执行它。 – Adi 2012-07-30 22:31:38

+0

我是如此芬兰 – 2012-07-30 22:31:54

这里是你的插入查询可能会是在打印时它

INSERT INTO rating (Username, Author, Star, Like, Favorite, Title) VALUES('John','Jim','xx','xx', 'xx', 'xx') 

插入语句中的like关键字可能会引发如下错误:

您的SQL语法错误;检查 对应于你的MySQL服务器版本正确的语法使用 附近手册“等)VALUES(”约翰”

检查更新,如果它的工作

+0

好的我做了你所说的,你是对的,谢谢你,帮助了很多。解决了我目前的所有问题。 – 2012-07-31 01:26:00

至于马库斯暗示,你的代码是此外,PHP手册强烈建议通过mysql扩展使用mysqli扩展名。

我建议您花一点时间阅读关于PDO的this article,准备好的语句和INSERT的正确方法/更新数据到您的模型中。

+0

我看过这篇文章,感谢你。我会更新我的SQL,所以不会发生。我很感激,仍然非常新鲜的失学大学,不幸的是,他们没有包括这一点。你已经提高了我的sql知识。 – 2012-07-31 01:28:45