2013-04-04 147 views
0

在谷歌和搜索后,我决定把这里.. 我试着改变单引号和反色列,但它也没有帮助.. 任何帮助感激!在'where子句'中的未知列'member1'

$a=mysql_query("UPDATE exercisemember SET reps='$reps' WHERE memid='$memid1'")  or die(mysql_error()); 

    $b=mysql_query("UPDATE exercisemember SET sets1='$sets1' WHERE memid='$memid1'")  or die(mysql_error()); 

感谢进步.. 更新1 的member1中实际上是$ memid1

+0

你确定你谈论这个查询?由于我在查询中的任何地方都看不到'member1'。 – Rikesh 2013-04-04 10:01:21

+0

member1实际上是$ memid的值,php变量.. – user2234992 2013-04-04 10:03:56

+1

不要再使用mysql_ *函数了:http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in- php – DessDess 2013-04-04 10:09:23

回答

0

值作为你的标题所说,没有colimn的member1。问题可能在于你在$ memid中输入了密码。

请在$ memid上做一个回声以查看变量中的内容。

你也可以更好地使用PDO或mysqli的

它会是这样的有PDO:

//database connection 
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); 

$sql = 'UPDATE exercisemember SET reps=:reps WHERE memid=:memid'; 
$update = $dbh->prepare($sql); 
$update->bindParam(':reps', $reps, PDO::PARAM_STR); //if it is a integer use PDO::PARAM_INT 
$update->bindParam(':memid', $memid, PDO::PARAM_STR); 
$update->execute(); 

这将阻止它sql注入。

0
$a=mysql_query("UPDATE exercisemember SET reps='".$reps."' WHERE memid='".$memid1."'") 

您可以使用echo查询发现差异