MySQL查询不插入数据

时间:2012-10-28 02:21:26

标签: php mysql

我在这里有点蠢蠢欲动,只是因为我试图输入一些我从用户那里得到的数据到表中,但由于某种原因它不会让我插入数据,但是我对表的另一部分有完全相同的查询,这似乎完全正常。

例如,当我执行此查询时,它不起作用:

$updateibtask2 = "UPDATE ibtask_task2_75beep SET 

    Trial1_tone_actual=  '$taskerror[0]', Trial2_tone_actual= '$taskerror[1]',  Trial3_tone_actual= '$taskerror[3]',

    Trial4_tone_actual=  '$taskerror[4]', Trial5_tone_actual= '$taskerror[5]',  Trial6_tone_actual= '$taskerror[6]', 

    Trial7_tone_actual=  '$taskerror[7]', ... WHERE user_id = '$memberid'";

然而,当我尝试这个查询时,它完全正常:

$updateibtask2_estimate = "UPDATE ibtask_task2_75beep SET 

    Trial1_tone_estimate=  '$taskerror[0]', Trial2_tone_estimate= '$taskerror[1]',  Trial3_tone_estimate= '$taskerror[3]',

    Trial4_tone_estimate=  '$taskerror[4]', Trial5_tone_estimate= '$taskerror[5]',  Trial6_tone_estimate= '$taskerror[6]', 

    Trial7_tone_estimate=  '$taskerror[7]', ... WHERE user_id = '$memberid'";

我只是想知道我哪里出错了?

另外,如果它帮助我用来运行这些查询的PHP代码是:

 $task2 = array();
 $task2 = $_SESSION['task2'];

 $task2estimate = array();
 $task2estimate = $_SESSION['estimatedpress2'];

 $task2actual = array();
 $task2actual = $_SESSION['actualpress2'];

 addacutalerror_75($memberid, $task2actual);
 addestimatederror_75($memberid, $task2estimate);

同时检查$task2actual是否存在数据我已经完成了回声... [0],.. [1]等等,数据中存在数据。

更新

对于那些正在寻找解决方案并遇到同样问题的人来说,这就是我所做的:

function addacutalerror_75($memberid, $task2actual) {

$insertmember = "INSERT INTO ibtask_task2_75beep (user_id, Trial1_tone_actual,
    Trial2_tone_actual, Trial3_tone_actual, Trial13_tone_actual,
    Trial14_tone_actual, ..., Trial40_notone_actual) VALUES ('$memberid', '$task2actual[0]', '$task2actual[1]', '$task2actual[3]', '$task2actual[18]', '$task2actual[21]', '$task2actual[22]', '..., '$task2actual[24]', '$task2actual[29]', '$task2actual[33]','$task2actual[38]' )";

mysql_query($insertmember) or die(mysql_error());

}

1 个答案:

答案 0 :(得分:3)

顺便说一下,UPDATEINSERT非常不同。

更新 - 修改表格中的现有记录 INSERT - 在桌面上添加新记录。

您的查询没问题,但您正在进行更新。但是你想插入记录不更新记录吗?插入记录时的查询如下所示

$updateibtask2 = "INSERT INTO ibtask_task2_75beep 
                     (Trial1_tone_actual, Trial2_tone_actual, 
                      Trial3_tone_actual,...) 
                  VALUES ('$taskerror[0]', '$taskerror[1]',...)";

,您的查询易受SQL Injection攻击。请花些时间阅读以下文章,以防范SQL injection