ホームページ  >  記事  >  バックエンド開発  >  mysql_fetch_array() の問題を解決する方法

mysql_fetch_array() の問題を解決する方法

WBOY
WBOYオリジナル
2016-06-13 13:35:58913ブラウズ

mysql_fetch_array() に関する事項
この問題はプログラムのデバッグ時に発生します: mysql_fetch_array() はパラメーター 1 がリソース、ブール値で指定されることを期待しています
何が問題ですか?
プログラムは次のとおりです:
$result2=mysql_query("select sum(score) as sum from ask_score where qid=".$qid."andanswerid=".$authid);
$author3 = mysql_fetch_array ( $result2, MYSQL_ASSOC );
$scoresum=$author3["sum"];

$result3=mysql_query("select count(*) as count from ask_score where qid=".$ qid);
$author4 = mysql_fetch_array ( $result3, MYSQL_ASSOC );
$scorenum=$author4["count"];
ask_score テーブル:
CREATE TABLE ask_socre(
qid int( 10) 署名なし NOT NULL デフォルト '0'、
authorid mediaint(8) 署名なし NOT NULL デフォルト '0'、
answerid mediaint(8) 署名なし NOT NULL デフォルト '0'、
vote_id mediaint(8) unsigned NOT NULL デフォルト '0',
score int(2) unsigned NOT NULL デフォルト '0',
PRIMARY KEY (qid,authorid)
);

-- --- -解決策--------------------
mysql_query が false を返しました。SQL ステートメント エラーです
mysql_query(... ) または die(mysql_error()); SQL ステートメントにエラーがあるかどうかを確認します。
------解決策------------------
1. テーブル名
2. スペースを追加します。できれば一重引用符
where qid=".$qid." およびanswerid=".$


where qid=。 ." およびanswerid=".$


PHP コード

<?php

$qid = '1';
$authid = '1';
$link = mysql_connect('127.0.0.1', 'root', '');

mysql_select_db("テスト");


$sql2= " select sum(score) as sum from ask_socre where qid='".$qid."' andanswerid='".$authid."' ";
$result2=mysql_query($sql2);
エコー$sql2;
if($author3 = mysql_fetch_array ( $result2, MYSQL_ASSOC )){
    var_dump($author3);
    $scoresum=$author3["合計"];
}

$sql3 = "qid='".$qid."' ";
$result3=mysql_query($sql3);
エコー$sql3;
if($author4 = mysql_fetch_array ( $result3, MYSQL_ASSOC )){
    var_dump($author4);

    $scorenum=$author4["カウント"];
<div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。