我在使用这个php页面时遇到了一些麻烦,出于某些原因,当我运行它时,查询没有被执行
<html>
<?php
$link = mysql_connect('localhost', 'root');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
for($i = 0; $i<$_GET['count'];$i++)
{
$query ="UPDATE `TEST.table` SET `Lan_ID` = '".$_GET[$i.'LanID'].
"', `Switching` = '".$_GET[$i.'Switching'].
"',`Own` = '".$_GET[$i.'Own'].
"',`Division` = '".$_GET[$i.'Division'].
"',`Switch_Number` = '".$_GET[$i.'Switch_Number'].
"', `Telecom_Circuit_number` = '".$_GET [$i.'Telecom_Circuit_number'].
"', `Transmitter_Frequency` = '".$_GET[$i.'Trasmitter_frq'].
"', `Receiver_Frequency` = '".$_GET[$i.'Receiver_frq'].
"', `Band_width` = '".$_GET[$i.'Band_width'].
"', `Channel` = '".$_GET[$i.'Channel'].
"', `Equipment` = '".$_GET[$i.'Equipment'].
"', `Power` = '".$_GET[$i.'Power'].
"', `Line_designation` = '".$_GET[$i.'Line_designation'].
"', `Voltage` = '".$_GET[$i.'Voltage'].
"', `Phase` = '".$_GET[$i.'Phase'].
"', `Modulate` = '".$_GET[$i.'Modulate'].
"', `Terms` = '".$_GET[$i.'Terms'].
"', `Trap` = '".$_GET[$i.'Trap'].
"', `Ltunner` = '".$_GET[$i.'Ltunner'].
"', `Link` = '".$_GET[$i.'Link'].
"', `Comment` = '".$_GET[$i.'Comment']."'";
$query = $query. " " . $_GET['where'.$i];
mysql_query($query, $link);
}
?>
</html>
然而,当我在MYSQL工作台上运行运行查询时它确实执行并且它更新了数据,我一直试图找出它大约一个小时而且我没有找到任何东西,谢谢你的帮助
答案 0 :(得分:1)
请注意别人提供的建议。
这是非常可疑的:
UPDATE `TEST.table` SET
^^^^^^^^^^
通常,我们不会将句点用作表名中的字符。
我怀疑你在这里想要的实际上是数据库的名称和表的名称。句点分隔符不会包含在反引号中,除非它实际上是表的名称。
UPDATE `TEST`.`table` SET
^^^^ ^^^^^
这是我可以想到的最可能的解释,为什么你没有在数据库表中看到任何行更新。
调试此类问题的最简单方法是在发送之前打印出要发送给MySQL的实际字符串。 (或者,在开发时,而不是发送查询)
echo $query;
此外,最佳做法是检查您的SQL语句的执行是否引发了错误,而不是拉着Dr. Evil关上门并且小声到嘴角“我”我只是假设一切都去计划。什么?“
再次,请注意别人提供的建议。并提防“小鲍比表”。