啊?原来这么多错误啊?那请问mysql_select_db (id);这个有什么错误呢?我看PHP书上的是这样调用表的啊,为什么错了呢??if ($pw == $p)这个也有错?不会吧,比较两个变量是否相等不是这样写的吗? mysql_connect(localhost,root,root); mysql_select_db (id); $query = "select password from dl where name = $n"; $pw = mysql_query($query) if ($pw == $p) echo "符合条件"; else echo "密码错误"; 是不是应该这样写呢??
$p = "select password from dl where name = $n"; 这一句好象不对吧,你这样写$p的值就是"select password from dl where name = $n"这个字符串,而并不是执行这条sql语句得到的结果啊,你得先让这条Sql语句执行然后把查询结果赋值给$p
mysql_select_db (id) 这个应该是前面定义的一个函数,你最好把书上的代码看完整
mysql_connect('localhost','root','root'); mysql_select_db ('id'); $query = "select password from dl where name = '$n'"; $resault = mysql_query($query); $row = mysql_fetch_array($resault); $p = $row[0]; if ($pw == $p) echo "符合条件"; else echo "密码错误";
mysql_connect(localhost,root,root); //此行没加双引号或单引号 mysql_select_db (id); //此行id定义出错,没双引号或单引号 $p = "select password from dl where name = $n"; //此行$n没有加单引号 if ($pw == $p) echo "符合条件"; else echo "密码错误"; ]这么多错误或不良代码习惯想出一个正确的结果也真是难为了你唉
mysql_connect(localhost,root,root);
mysql_select_db (id);
$query = "select password from dl where name = $n";
$pw = mysql_query($query)
if ($pw == $p)
echo "符合条件";
else
echo "密码错误";
是不是应该这样写呢??
这一句好象不对吧,你这样写$p的值就是"select password from dl where name = $n"这个字符串,而并不是执行这条sql语句得到的结果啊,你得先让这条Sql语句执行然后把查询结果赋值给$p
这个应该是前面定义的一个函数,你最好把书上的代码看完整
mysql_select_db ('id');
$query = "select password from dl where name = '$n'";
$resault = mysql_query($query);
$row = mysql_fetch_array($resault);
$p = $row[0];
if ($pw == $p)
echo "符合条件";
else
echo "密码错误";
mysql_select_db (id); //此行id定义出错,没双引号或单引号
$p = "select password from dl where name = $n"; //此行$n没有加单引号
if ($pw == $p)
echo "符合条件";
else
echo "密码错误";
]这么多错误或不良代码习惯想出一个正确的结果也真是难为了你唉
这个应该是前面定义的一个函数,这个函数是用来判断数据库是否存在的吗?
书上说mysql_query($query)和mysql_fetch_array($resault);执行结果返回的都是TRUE OR FALSE啊
难道把TRUE 或 FALSE 赋值给 $resault 和$row 吗??
mysql_select_db ("id");
$query = "select password from dl where name = "$n"";
请问这样写就没有问题了吧?
改为
$query = "select password from dl where name = ‘$n’";
就没问题啦
$query = "select password from dl where name = $n";不过我以后知道应该用’‘就好了
下面的问题就
$row = mysql_fetch_array($resault);这个不是把整行都返回了吗?为什么这里只会返回1个值呢?if ($pw == $p)这个语句哪里错了呢?
$resault = mysql_query($query);
$row = mysql_fetch_array($resault);
$p = $row[0];
中间加了着些以后就可以拉
还有一个问题就是
mysql_select_db (id)
这个应该是前面定义的一个函数这个是什么意思呢??
其实我想问
mysql_fetch_array($resault);是什么意思啊?返回的是数据吗?
不好意思
返回数组资料。语法: array mysql_fetch_array(int result, int [result_typ]);返回值: 数组函数种类: 数据库功能
内容说明
本函数用来将查询结果 result 拆到数组变量中。若 result 没有资料,则返回 false 值。而本函数可以说是 mysql_fetch_row() 的加强函数,除可以将返回列及数字索引放入数组之外,还可以将文字索引放入数组中。若是好几个返回字段都是相同的文字名称,则最后一个置入的字段有效,解决方法是使用数字索引或者为这些同名的字段 (column) 取别名 (alias)。治募注意的是使用本函数的处理速度其实不会比 mysql_fetch_row() 函数慢,要用哪个函数还是看使用的需求决定。参数 result_typ 是一个常量值,有以下几种常量 MYSQL_ASSOC、MYSQL_NUM 与 MYSQL_BOTH。
使用范例
<?php
mysql_connect($host,$user,$password);
$result = mysql_db_query("database","select * from table");
while($row = mysql_fetch_array($result)) {
echo $row["user_id"];
echo $row["fullname"];
}
mysql_free_result($result);
?>