> 백엔드 개발 > PHP 튜토리얼 > 关于Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result问题

关于Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result问题

WBOY
풀어 주다: 2016-06-20 12:28:45
원래의
1968명이 탐색했습니다.

刚学php
$con = mysql_connect("localhost","root","","PhysicalTest");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("PhysicalTest", $con);
mysql_query("SET NAMES 'gbk_chinese_ci'");

error_reporting(E_ALL ^ E_NOTICE);
if(isset($_COOKIE['student_id'])) 

$student_id=$_COOKIE['student_id'];


$result=mysql_query("SELECT * FROM 成绩 WHERE 学号 ='$student_id'");

   $row=mysql_fetch_array($result);
    if(empty($row)) echo "<script> alert ('未查询到符合项');</script>";
    else{
echo ...
标红的那个为什么会有warning, mysql_fetch_array(): supplied argument is not a valid MySQL result 。。。数据库表格也没有错啊。。。求问怎么回事。


回复讨论(解决方案)

$result=mysql_query("SELECT * FROM 成绩 WHERE 学号 ='$student_id'");
查询失败了
你可以用 echo mysql_error(); 看一下究竟是什么错

估计是中文表名和字段名的问题

$result=mysql_query("SELECT * FROM 成绩 WHERE 学号 ='$student_id'") or die(mysql_error());
看看有什么错误

$result=mysql_query("SELECT * FROM 成绩 WHERE 学号 ='$student_id'");
查询失败了
你可以用 echo mysql_error(); 看一下究竟是什么错

估计是中文表名和字段名的问题


--------------------------------------------------------------------------------------
结果是这样:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '��绩 WHERE 学号 =''' at line 1
是不是因为表名、列名是中文?要改成英文?

你先这样试试
$result=mysql_query("SELECT * FROM  `成绩` WHERE `学号` ='$student_id'");

但不是长久之计,你不愿起英文名字,也可以用汉语拼音呀

你先这样试试
$result=mysql_query("SELECT * FROM  `成绩` WHERE `学号` ='$student_id'");

但不是长久之计,你不愿起英文名字,也可以用汉语拼音呀


下次不用中文了,多谢
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿