-3

我在使用这个 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 工作台上运行查询时,它确实执行并更新了数据,我试图弄清楚大约一个小时,但我没有找到任何东西,谢谢你的帮助

4

1 回答 1

1

请注意其他人提供的建议。

这是强烈怀疑的:

UPDATE `TEST.table` SET
        ^^^^^^^^^^

通常,我们不使用句点作为表名中的字符。

我怀疑您在这里想要的实际上是数据库的名称和表的名称。句点分隔符不会包含在反引号中,除非这实际上是表的名称。

UPDATE `TEST`.`table` SET
        ^^^^   ^^^^^  

这是我能想到的最可能的解释,为什么您在数据库表中没有看到任何更新的行。

调试此类问题的最简单方法是在发送之前打印出要发送到 MySQL 的实际字符串。(或者,在开发时,而不是发送查询)

echo $query;

此外,最佳实践是检查您执行 SQL 语句是否引发了错误,而不是拉着 Dr. Evil 关上门,小指到嘴角“我只是要去假设一切都按计划进行。什么?

再次,请注意其他人提供的建议。并提防“小鲍比桌”。

http://xkcd.com/327/

于 2013-07-15T22:46:59.090 回答