Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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
由于SQL查询导致PHP 500内部服务器错误_Php_Sql - Fatal编程技术网

由于SQL查询导致PHP 500内部服务器错误

由于SQL查询导致PHP 500内部服务器错误,php,sql,Php,Sql,我有一个php脚本,如果ff行在查询中,它会显示500内部服务器错误 CONVERT(INT,cast(reverse(substring(char_data, 301, 4)) as BINARY(4))) AS maxexperience 当我去掉这个,一切都会好起来 $SQL = "SELECT TOP 10 CONVERT(VARCHAR,substring(char_data, 9, 16)) AS name, CONVERT(INT,cast(reverse(su

我有一个php脚本,如果ff行在查询中,它会显示
500内部服务器错误

 CONVERT(INT,cast(reverse(substring(char_data, 301, 4)) as BINARY(4))) AS maxexperience
当我去掉这个,一切都会好起来

$SQL = "SELECT TOP 10
    CONVERT(VARCHAR,substring(char_data, 9, 16)) AS name,
    CONVERT(INT,cast(reverse(substring(char_data, 7, 2)) as BINARY(2))) AS level,
    CONVERT(INT,substring(char_data, 25, 1)) AS type,
    CONVERT(INT,cast(reverse(substring(char_data, 263, 2)) as BINARY(2))) AS strength,
    CONVERT(INT,cast(reverse(substring(char_data, 265, 2)) as BINARY(2))) AS wisdom,
    CONVERT(INT,cast(reverse(substring(char_data, 267, 2)) as BINARY(2))) AS dexterity,
    CONVERT(INT,cast(reverse(substring(char_data, 269, 2)) as BINARY(2))) AS charisma,
    CONVERT(INT,cast(reverse(substring(char_data, 271, 2)) as BINARY(2))) AS intelligence,
    CONVERT(INT,cast(reverse(substring(char_data, 273, 2)) as BINARY(2))) AS constitution,
    CONVERT(INT,cast(reverse(substring(char_data, 309, 2)) as BINARY(2))) AS fame,
    CONVERT(INT,cast(reverse(substring(char_data, 301, 4)) as BINARY(4))) AS maxexperience
FROM CHAR_DATA0 WHERE CONVERT(INT, substring(char_data, 261, 1))=0x00 ORDER BY level DESC";
我试着从MSSMS-2008运行相同的脚本

 name       level   type    strength  wisdom  dexterity  charisma   intelligence    constitution    fame    maxexperience
 ladycharm  340     4       3510      1210    5200       2001       1120            4236            14265   1782451348
它确实有效。但是从php脚本中,它给出了一个错误。 请给我一些建议?多谢各位

---cpanel上的错误日志---


检查了所有日志,甚至尝试创建一个脚本,该脚本应该会出错。我看到了那个脚本的错误。但不是这个脚本。它没有记录错误。

这是一些疯狂的SQL。。。但我不认为这是你“错误500”的根源

事实上,我认为根本原因可能是HTTP 404:找不到文件:

文件不存在:/home/blazegam/public\u html/test/404.shtml

相反,我认为:

1) 客户端请求的链接无效

2) 服务器尝试。。。而且失败了。。。生成错误404

3) 最终,客户机收到一个错误500

问:您确定调用的是正确的服务器端文件和目录吗

附言: 我不知道w0rldart为什么删除了他的回复。但是为了调试的目的,启用完整的错误报告实际上是一个非常好的主意:

error_reporting(E_ALL);
ini_set("display_errors", 1);

这是一些疯狂的SQL。。。但我不认为这是你“错误500”的根源

事实上,我认为根本原因可能是HTTP 404:找不到文件:

文件不存在:/home/blazegam/public\u html/test/404.shtml

相反,我认为:

1) 客户端请求的链接无效

2) 服务器尝试。。。而且失败了。。。生成错误404

3) 最终,客户机收到一个错误500

问:您确定调用的是正确的服务器端文件和目录吗

附言: 我不知道w0rldart为什么删除了他的回复。但是为了调试的目的,启用完整的错误报告实际上是一个非常好的主意:

error_reporting(E_ALL);
ini_set("display_errors", 1);

如果您有PHP CLI,请尝试从命令行调试:

php -l /path/to/your/php_script.php

对我来说,10次中有9次,500个状态码来自一个小语法错误。。。您是否可以将实际的查询代码块粘贴到PHP文件中?我看到您粘贴了正在使用的查询字符串,但这将有助于了解更多信息。

如果您有PHP CLI,请尝试从命令行调试:

php -l /path/to/your/php_script.php

对我来说,10次中有9次,500个状态码来自一个小语法错误。。。您是否可以将实际的查询代码块粘贴到PHP文件中?我看到您粘贴了正在使用的查询字符串,但这将有助于查看更多信息。

规范化该表是否更有意义,这样您就不必对每个查询都进行所有可怕的操作?查看错误日志以了解实际错误。这是SQL小姐吗?在代码中使用
mssql\u get\u last\u message()
查看错误,但规范化是不可能的。无法更改设计。是的,我尝试在php上使用它捕捉错误。但它只显示500个内部错误。我正在使用cPanel,知道在哪里可以找到日志吗?打开错误报告,然后再次检查日志<代码>错误报告(E_全部)或在设置了
ini\u的屏幕上显示(“显示错误”,1)规范化该表是否更有意义,这样您就不必对每个查询执行所有可怕的操作?查看错误日志以了解实际错误。这是SQL小姐吗?在代码中使用
mssql\u get\u last\u message()
查看错误,但规范化是不可能的。无法更改设计。是的,我尝试在php上使用它捕捉错误。但它只显示500个内部错误。我正在使用cPanel,知道在哪里可以找到日志吗?打开错误报告,然后再次检查日志<代码>错误报告(E_全部)或在设置了
ini\u的屏幕上显示(“显示错误”,1)