读书人

PHP法进mySQL

发布时间: 2013-04-12 18:33:12 作者: rapoo

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

(php法)
<?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 <b>C:\AppServ\www\AndroidConnectDB\android_connect_db.php</b> on line <b>13</b><br />
我有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 资源,所以要逐步向上查找
[解决办法]
你不觉得应该是这样吗?

SELECT * FROM user where zip = 'newzip'

[解决办法]
关闭魔术引号,修改php.ini magic_quotes_gpc = Off
或者临时对传入字符串反转义
$sql = stripslashes($_POST["query_string"]);
也可以应付过来

读书人网 >PHP

热点推荐