Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新查询在本地服务器上运行,但在internet上不运行_Php_Mysql - Fatal编程技术网

Php 更新查询在本地服务器上运行,但在internet上不运行

Php 更新查询在本地服务器上运行,但在internet上不运行,php,mysql,Php,Mysql,拜托,我需要一些头脑风暴。我创建了一个更新查询,如下所示 <?php require_once('Connections/@@@@@.php'); ?> <?php $result = mysql_query("UPDATE volunteers, vcodes SET volunteers.sn = vcodes.sn WHERE volunteers.vid = vcodes.id"); ?> 它在我本地服务器上的web应用程序中的表单后面运行

拜托,我需要一些头脑风暴。我创建了一个更新查询,如下所示

<?php require_once('Connections/@@@@@.php'); ?>
<?php
$result = mysql_query("UPDATE volunteers, vcodes SET volunteers.sn = vcodes.sn WHERE      volunteers.vid = vcodes.id");
?>    

它在我本地服务器上的web应用程序中的表单后面运行,并生成正确的结果,但当我将其上载到internet时,它不会运行,而是坐在那里


请任何人帮助确定为什么它只在我的本地服务器上运行,而不在internet上运行。我正在Dreamweaver CS6中开发我的应用程序。

原因之一可能是您的表和字段名称大写。您可能正在本地使用不区分大小写的windows,而您的远程服务器可能是linux,其中表名和字段名区分大小写。确保字段和表名使用小写字母。

1)正如其他人所指出的,mysql\u XXX函数已经过时。对于新代码,您应该绝对使用新的MySQL API:PDO或mySqli:

2) 同样,您应该使用准备好的语句。不是“更新…”或“选择*”。尤其是当您的服务器面向internet时

3) 默认情况下,mySql配置为仅允许本地连接。这是一件好事。一般来说,您的Web服务器将面向internet。。。但是所有SQL查询和更新都是本地的,在Web服务器和MySQL之间。这既更加安全,也更加高效

3) 如果要远程使用MySQL,必须做两件事:

a) 配置MySQL帐户以允许远程访问

b) 打开服务器的防火墙到MySQL端口

以下是一篇讨论如何做到这一点的文章:


您的远程mySQL服务器是否配置为接收远程连接?。它们不再得到维护。看到了吗?但是我已经使用了mysql\u查询,正如你从我的详细资料中可以看到的那样。MIT:这就是为什么它没有运行的原因吗?这些mysql\u*函数已经过时了,但是它们还没有被删除。因此,这不是查询没有运行的原因。我认为这不是问题所在。我所有的表和字段都使用小写。