首页  >  文章  >  后端开发  >  PHP?法?入mySQL

PHP?法?入mySQL

WBOY
WBOY原创
2016-06-23 14:05:08887浏览

小妹是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"]); 也可以应付过来
感??位大大!!可以成功抓到了:)

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn