我正在尝试使用常量Guest来更新数据库。我有一个包含日期的数组,并设置了一个for
循环来循环它们,查询应该修改一行,其中日期与数组键AND
{19}的starttime
匹配: 00。但是它没有修改数据库。我哪里错了?
$size1 = sizeof($dayOfTheWeek) - 1;
for ($count = 0; $count <= $size1; $count++) {
$query = "UPDATE rota SET title=Guest WHERE date = '$dateMonthYearArr[$count]' AND starttime = '19:00:00'" or die;
$dayresult = mysql_query($query);
echo "".$dateMonthYearArr[$count]."</br>";
}
echo "Complete";
答案 0 :(得分:2)
$query = "UPDATE rota SET title='Guest' WHERE date = '" . $dateMonthYearArr[$count] . "' AND starttime = '19:00:00'";
您还应该确保$ dateMonthYearArr [$ count]是SQL安全=)。
答案 1 :(得分:1)
修复查询:
$query = "UPDATE rota SET title='Guest'
WHERE date = '" . $dateMonthYearArr[$count] . "' AND starttime = '19:00:00'";
$dayresult = mysql_query($query);
$dateMonthYearArr
是一个php数组,所以你应该以适当的方式将它连接到你的字符串。
答案 2 :(得分:0)
这实际上是
$query = "UPDATE rota SET title=Guest WHERE date = '$dateMonthYearArr[$count]' AND starttime = '19:00:00'" or die;
是比较,因为&#39;或&#39;是一个运算符,它的行为类似于IF语句。所以你没有正确设置字符串。
尝试使用:
$query = "UPDATE rota SET title = 'Guest' WHERE date = '" . $dateMonthYearArr[$count] . "' AND starttime = '19:00:00'";
mysql_query($query) or die('Cannot update title');
答案 3 :(得分:0)
我删除了我的其他答案,并结合了其他两张海报的要点。请不要为此奖励我。我只是结合他们[更好]的答案。
<?php
$query = "UPDATE rota SET title = 'Guest' WHERE date = '".$dateMonthYearArr[$count]."' AND starttime = '19:00:00'";
mysql_query($query) or die('Cannot update title');