Heim  >  Artikel  >  Backend-Entwicklung  >  PHP?法?入mySQL

PHP?法?入mySQL

WBOY
WBOYOriginal
2016-06-23 14:05:08888Durchsuche

小妹是php新手
最近想要?著?一?搜?程式
主要是藉由php作?媒介??android和mySQL
不??卡在我的php一直?法成功判?SQL?法
以下是我主要??程式片段:
(in java)
try {
String result = DBConnector.executeQuery("SELECT*FROM user where zip = 'newzip' ");
System.out.println(result);

(php?法)
$db = mysql_pconnect("localhost","root","1234");

mysql_query("SET CHARACTER SET 'UTF8';");
mysql_query("SET NAMES UTF8;");
mysql_query("SET CHARACTER_SET_CLIENT=UTF8;");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8;");
mysql_select_db("food");

$sql = $_POST["query_string"];

$res = mysql_query($sql);
while($r = mysql_fetch_assoc($res))
$output[] = $r;

print(json_encode($output));
mysql_close();
?>

?是我的???息:
mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\AndroidConnectDB\android_connect_db.php on line 13

我有?java中的?法直接在phpmyadmin中?行
(即SELECT*FROM user where zip = 'newzip')
是可以正?找到??符合?件的?料
但是不知道?什? 透?java?入至php中去呼叫mySQL?行???是?回??
上?爬?很多文
有?著去修正???的??(SET NAMES UTF8;)
也有去php.ini修改? magic_quotes_gpc = On
但仍?回?null以及???息
但是我?它改成
SELECT*FROM user where id=1 ?
是可以正??行的00"
所以再猜想?不?是?引?引起的??
也有?它改成
SELECT*FROM user where zip = /'newzip/'
?仍?不?好???

想要??各位大大是否有解?的方法???


回复讨论(解决方案)

猜测是没有用的,需要看到出错时的错误信息
$res = mysql_query($sql)  or die(mysql_error());
因为你给出的错误信息是
mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource 
即传递给 mysql_fetch_assoc 的不是有效的 MySQL 资源,所以要逐步向上查找

?上大哥您好~!>  我的mtsql_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 '\'newzip\'' at line 1
所以?是表示我的字元?入部分有????
那要怎??整才是正?的呢?
我有???它改成 SELECT*FROM user where zip = \'newzip\'
但是一?????

你不觉得应该是这样吗?

SELECT * FROM user where zip = 'newzip'

我有?????了
但是??示一?的??@@
SELECT * FROM user where id = 1
??可以正常?行
但是若改成指定其他?位?料?就不行了??

关闭魔术引号,修改php.ini magic_quotes_gpc = Off
或者临时对传入字符串反转义 

$sql = stripslashes($_POST["query_string"]);
 也可以应付过来

关闭魔术引号,修改php.ini magic_quotes_gpc = Off
或者临时对传入字符串反转义 PHP code?1$sql = stripslashes($_POST["query_string"]); 也可以应付过来
感??位大大!!可以成功抓到了:)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn