Maison > Article > développement back-end > 请教下php的Resource问题?
php Resource
<?phpheader("Content-type: text/html; charset=utf-8"); if(!empty($_POST['username'])){ $name=$_POST['username'];} if(!empty($_POST['pwd'])){ $pwd=$_POST['pwd'];} function sqlDql($name,$pwd){ $conn=mysql_connect("localhost","root","root"); if(!$conn){ die("连接失败".mysql_error()); } mysql_select_db("test",$conn) or die(mysql_error()); //设置字符集 mysql_query("set names utf8"); $sql="select * from zhuche;"; $res=mysql_query($sql,$conn) or die(mysql_error()); while($row=mysql_fetch_row($res)){ if($name==$row[1]){ echo "用户名已经存在<br/>"; echo "<a href='login.php'>返回注册页面</a>"; // die(mysql_free_result($res)."连接".mysql_close($conn)); mysql_free_result($res); mysql_close($conn); exit(); } } $sql2="insert into zhuche (Username,password) values ('".$name."','".$pwd."');"; $res2=mysql_query($sql2,$conn) or die(mysql_error()); echo "<table border='1px solid black'>"; echo "<tr><td>序号</td><td>用户</td><td>密码</td></tr>"; while($row=mysql_fetch_row($res)){ echo "<tr>"; foreach($row as $key=> $val){ echo "<td>--".$val."</td>"; } echo "</tr>"; } echo "</table>"; mysql_free_result($res); mysql_close($conn); } sqlDql($name,$pwd);?>如果在第一个while没有退出 为什么下面的$res取不出数据?SQL语句出的问题没问题。
33 行应为
while($row=mysql_fetch_row($res2)){
而不是
while($row=mysql_fetch_row($res)){
$res2是一个boolean值没有结果集呀
噢,看错了
但是 $res 经 while($row=mysql_fetch_row($res)){ 后已经指向结果集的尾部了
你需要用 mysql_data_seek($res, 1); 回绕结果集
不过请注意:即便回绕了,也不会输出 mysql_query($sql2,$conn) 插入的值
很感谢,结账