免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4629 | 回复: 28
打印 上一主题 下一主题

[数据库] 在PHP中提取MYSQL数据的问题??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-08 09:11 |只看该作者 |正序浏览
代码如下:
$db=mysql_connect(localhost,root,*****);
mysql_select_db($sqlname,$db);
$sql="select * from $sqltable where name=\'$name\'";
$conn=mysql_query($sql);
while ($rs=mysql_fetch_array($conn))
{<TD>姓名:
                </TD
<TD><?=$rs["name"]?></TD>
                <TD>性别:
                </TD>
                <TD><?=$rs["sex"]?></TD></TR>
}

这样老是提示错误:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\web\php_user\result.php on line 30
这个不知道是什么原因,是不是用mysql_fetch_array()这个函数用得不对啊

[ 本帖最后由 lxc521 于 2006-7-8 10:35 编辑 ]

论坛徽章:
0
29 [报告]
发表于 2006-07-12 12:09 |只看该作者
俺首先声明,俺没遇到过这种情况,下面的代码在你的基础上改的,试试看行吗?
每步都有提示,根据提示找原因。

<!--php script begin-->

<?php

$host = 'localhost';
$user = 'root';
$passwd = '';
$sqlname = 'db_name'; //database name
$sqltable = 'table_name'; //table name

$db = mysql_connect($host, $user, $passwd) or die ("Cound not connected MySQL host $host .");
$sql = 'set names gb2312';
mysql_query($sql, $db) or die("SQL error: $sql");
mysql_select_db($sqlname, $db) or die("Cound not open database $sqlname .");
$sql = "select * from $sqltable where name='$name'";
$conn = mysql_query($sql, $db);

if ($conn === false) {
        echo  "SQL error: $sql";
        exit;
} elseif (!$conn) {
        echo "talbe $sqltable is empty";
        exit;
}
while ($rs = mysql_fetch_array($conn))
{
?>
<TR>
<TD>姓名:</TD>
<TD><?=$rs['name']?></TD>
<TD>性别:</TD>
<TD><?=$rs['sex']?></TD>
</TR>

<?
}

?>

<!--php script end-->

[ 本帖最后由 super_fire 于 2006-7-12 12:30 编辑 ]

论坛徽章:
0
28 [报告]
发表于 2006-07-12 08:45 |只看该作者
真的烦人。这个问题搞这么久都还没有搞定

论坛徽章:
0
27 [报告]
发表于 2006-07-12 08:44 |只看该作者
我用那个字符转换的话,报错:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in E:\web\php_user\result.php on line 20

论坛徽章:
0
26 [报告]
发表于 2006-07-12 00:53 |只看该作者
你别告诉俺字段名用的中文。

论坛徽章:
0
25 [报告]
发表于 2006-07-11 11:31 |只看该作者
真感谢大家解答,其实是这样的,在PHP页面中插入数据到MYSQL是正常的,在PHP页面中提取数据的时候才有问题的,不知道这样能不能排除是字符集的问题。

论坛徽章:
0
24 [报告]
发表于 2006-07-11 10:05 |只看该作者
$sql="select * from $sqltable where name=\'$name\'";改为
$sql="select * from $sqltable where name='$name' ";

论坛徽章:
0
23 [报告]
发表于 2006-07-10 23:36 |只看该作者
在每个连接里,首先
mysql_query('set names gb2312', $db);
一下,再获取数据看看如何

其实可以在MYSQL的控制下直接测试,没问题了再用在PHP脚本里。

再者,双引号里嵌套单引号是不需要转义的。单引号里嵌套双引号也不用转义,因为单引号根本就不支持转义。

[ 本帖最后由 super_fire 于 2006-7-10 23:49 编辑 ]

论坛徽章:
0
22 [报告]
发表于 2006-07-10 19:49 |只看该作者
$sql="select * from $sqltable where name=\'$name\'";

需要转义吗??
我一直用双引号时才转义的啊

论坛徽章:
0
21 [报告]
发表于 2006-07-10 16:23 |只看该作者
mysql_query(set names 'gbk');
这个加上去也不行
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP