mysqli和php 5.5的internall 500服务器错误

时间:2015-12-10 21:48:40

标签: php mysql mysqli

您好我有两个PHP文件正在返回内部服务器错误500。

我的大多数文件都使用类似的代码我不知道为什么这两个文件会返回这些错误。

POST http://52.24.192.106/friend_coords.php 500 (Internal Server Error)

http://52.24.192.106/search_friends.php 500 (Internal Server Error)

search_friends.php:

<?php 
include("db.php");
    extract($_POST);
    session_start();
    $serach_string = $_POST['searchstring'];
    if($fetch=$db->query("SELECT username FROM users WHERE username LIKE '%$serach_string%'")){
       $friends=$fetch->fetch_all();
       echo json_encode($friends);
    }else{
       echo 'no results';
    }
?>

friend_coords.php:

<?php 
include("db.php");
    extract($_POST);
    $user_id=mysqli_real_escape_string($db,$_POST['userid']);
    $fetch=$db->query("SELECT * FROM friends WHERE user_id='$user_id'");
    $friends_list = [];
    while ($friends=mysqli_fetch_array($fetch)){
        $friend_id = $friends['friend_id'];
        $fetch=$db->query("SELECT * FROM locations WHERE user_id='$friend_id'");
        $row=mysqli_fetch_array($fetch);
        array_push($friends_list, $row);
    }
    echo json_encode($friends_list);
?>

错误:

[Thu Dec 10 21:58:16 2015] [error] [client 198.179.137.231] PHP Parse error:  syntax error, unexpected '[' in /var/www/html/friend_coords.php on line 6, referer: http://52.24.192.106/profile.php
[Thu Dec 10 21:58:21 2015] [error] [client 198.179.137.231] PHP Parse error:  syntax error, unexpected '[' in /var/www/html/friend_coords.php on line 6, referer: http://52.24.192.106/profile.php

最新:

好的,所以我修复了搞砸了的所有服务器内容。现在我只在search_friends.php上收到500错误。

我在array()中使用[]代替friend_coords.php,并解决了这个问题。

这是search_friends.php文件。

POST http://52.35.215.63/search_friends.php 500(内部服务器错误)

日志:

[Thu Dec 10 22:22:41 2015] [error] [client 198.179.137.231] PHP Fatal error:  Call to undefined method mysqli_result::fetch_all() in /var/www/html/search_friends.php on line 7, referer: http://52.35.215.63/profile.php

分贝,PHP

<?php 
include("db.php");
    extract($_POST);
    session_start();
    $serach_string = $_POST['searchstring'];
    if($fetch=$db->query("SELECT username FROM users WHERE username LIKE '%$serach_string%'")){
       $friends=$fetch->fetch_all();
       echo json_encode($friends);
    }else{
       echo 'no results';
    }
?>

1 个答案:

答案 0 :(得分:1)

对于第二个脚本,错误消息非常清楚地解释了问题。您已经编写了似乎是JavaScript或C语法的代码:

$friends_list = [];

从5.5版本支持此语法,但您显然正在运行早期版本。试试:

$friends_list = array();

在不知道它产生什么错误的情况下,很难说为什么第一个脚本失败但可能又是一个解析错误,但是代码还有其他一些问题,尤其是逻辑没有做到你的意思认为它确实存在,并且容易受到SQL注入和泄漏的影响(就像第一个脚本一样)。