首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要一个关于如何让我的插入代码在php和mysql中工作的提示。

问我需要一个关于如何让我的插入代码在php和mysql中工作的提示。
EN

Stack Overflow用户
提问于 2012-07-31 06:24:10
回答 2查看 66关注 0票数 1

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

代码如下:

代码语言:javascript
复制
<?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)

Title varchar(255)

EN

回答 2

Stack Overflow用户

发布于 2012-07-31 06:43:12

下面是打印insert查询时可能的样子

代码语言:javascript
复制
INSERT INTO rating (Username, Author, Star, Like, Favorite, Title) VALUES('John','Jim','xx','xx', 'xx', 'xx')

insert语句中的like关键字可能会抛出如下错误

您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,以获得正确的语法,以便使用接近‘like’的值(‘John’

检查您的更新是否有效

票数 1
EN

Stack Overflow用户

发布于 2012-07-31 06:51:22

正如Markus所暗示的那样,您的代码极易受到SQL注入攻击。此外,PHP手册强烈建议使用mysqli扩展,而不是mysql扩展。

我建议你花点时间通读一下this article on PDO,准备好的语句,以及在模型中插入/更新数据的正确方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11730578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档