0

理由はわかりませんが、以下の MySQL クエリによりページが応答しなくなり、このページが応答しなくなったことを示すボックスが表示されます。これが起こらないようにする最も簡単な方法は何だろうと思っています。

public function audioplayer($id)
{
    $r_hostname = "192.***.**.***";
    $r_username = "c**";
    $r_password = "*******";
    $link = mysql_connect($r_hostname,$r_username,$r_password);

    $a_hostname = "192.168.***.***";


    $db = mysql_select_db('asterisk', $link);

    $result = mysql_query("SELECT * FROM recording_log WHERE start_time LIKE '".date("Y-m-d")."%' AND filename LIKE 'IL_%-%". $id ."' LIMIT 3",$link);


    #$result = mysql_query("select * from recording_log WHERE filename LIKE 'IL_%-%".$id."'",$link);

    if (!$result) {
            die('Invalid query: ' . mysql_error());
    }   
    if($result != '')
    {
        while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
            foreach($row as $column => $value) {
                $array[type] ="wav";    
                $array[$column]= $value;
            }
        }
    }
    else {
        $linktwo = mysql_connect($a_hostname,$r_username,$r_password);

        $dbtwo = mysql_select_db('asterisk', $linktwo);

        $resulttwo = mysql_query("SELECT * FROM recording_log WHERE start_time LIKE '".date("Y-m-d")."%' AND filename LIKE 'IL_%-%". $id ."' LIMIT 3",$linktwo);

        while($row = mysql_fetch_array($resulttwo, MYSQL_ASSOC)){
            foreach($row as $column => $value) {
                $array[type] ="mp3";
                $array[$column]= $value;
            }
        }
    }
    return json_encode($array);
}
4

1 に答える 1

1

ここに構文エラーがあるように感じます:

$array[type] ="mp3";

もしかして:

$array[$type] ="mp3";
$array["type"] ="mp3";

mysql_*新しいコードで関数を使用しないでください。それらはもはや保守されておらず、公式に非推奨です赤いボックスがか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事はどちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

于 2013-06-11T01:57:27.957 に答える