为何这个php代码在有的电脑上无法正常运行? mysql_select_db("username", $connection);中username是不是db_name应该 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dbname和username是一样的,都用的“username”。不然,在我的电脑也是无法运行的。 个人感觉php代码上没有问题,本身也只是一个很简单的连接数据库操作,我觉得问题应该在sql语句上,所以检查一下sql语句是否有问题,在某种条件下能搜出来,在某种条件下就搜不出来了,这个单从php代码上,大家是无法判断的 在返回0的用户的电脑上把每一步传递的参数打印出来看看看是在哪一步出了问题再把 sql打印出来看看有没问题程序好像没多大问题 我修改了代码:<?phpfunction _GetParam($Name) { return $_GET[$Name]; } $account = _GetParam("account"); $product = _GetParam("product"); $connection = mysql_connect("mysql104.XXXXX.net", "username", "password") or exit("1");mysql_select_db("username", $connection) or exit("5"); $result = mysql_query("select * from table1 where account = '$account' and product = '$product'", $connection) or exit("4"); $num = mysql_num_rows($result) or exit("3"); if ($num == 0) { exit("0"); } echo "2"; ?> 结果我的返回值仍然是2,那个国外客户返回的是3,真是不可思议。 看起来好像是mysql_num_rows失效了,为什么? 首先我想问 你和那客户的数据库内容是否相同关于 mysql_num_rows这个函数如果提取到空的话 就会返回给or 处理也就是 明显是 数据库内容不同 或者sql语句问题 可能是你那个国外的朋友浏览器用的不是中文的,导致数据编码变成utf-8了,而数据库里可能是gbk编码,这速一来,传过去的用户名和商品自然就搜索不到了检查方法,在php程序里 var_dump($_GET);判断是否是数据库一速的编码 谢谢上面这位朋友的回答!我想可能是编码的问题。但是数据库里面的内容全都是英文的,且仅含有英文字母、数字、"."号和"@"号,除此之外,不含其他任何字符。用户名就是用户的email地址,产品名是统一的长度为两位的英文字母。数据库的编码是MySQL charset: UTF-8 Unicode (utf8),MySQL connection collation: UTF8_Unicode_ci。这样会不会有问题? 关于省市二级联动乱码的问题!急!!!在线等 正则置换问题 把PHP函数 写到HTML页面里 怎么知道 是从哪个PHP文件中调用的? 同时会JAVA和PHP的请进... php 二维数组 根据show_type 的值 转成三维数组 关于各大搜索引擎关键词解码 用php提取mysql数据库中的时间,在库中是05-5-21,到网页中显示时就变了!!! 谁能帮我看看这个问题啊? 用PHP怎样来识别输入框的汉字是BIG5码还是GB码?请赐教! 有关PHP4的配置问题! fopen权限问题 在线等 我在LINUX下已经安装了PHP,现在发现不支持GD库,是不是装好GD库后要再重新安装PHP?
看是在哪一步出了问题
再把 sql打印出来看看有没问题
程序好像没多大问题
我修改了代码:
<?php
function _GetParam($Name) {
return $_GET[$Name];
}
$account = _GetParam("account");
$product = _GetParam("product"); $connection = mysql_connect("mysql104.XXXXX.net", "username", "password") or exit("1");
mysql_select_db("username", $connection) or exit("5");
$result = mysql_query("select * from table1 where account = '$account' and product = '$product'", $connection) or exit("4");
$num = mysql_num_rows($result) or exit("3");
if ($num == 0)
{
exit("0");
}
echo "2";
?> 结果我的返回值仍然是2,那个国外客户返回的是3,真是不可思议。
关于 mysql_num_rows这个函数如果提取到空的话 就会返回给or 处理
也就是 明显是 数据库内容不同 或者sql语句问题
检查方法,在php程序里 var_dump($_GET);判断是否是数据库一速的编码