php リソース
<?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);?>
33 行は
while($row=mysql_fetch_row($res2)){
の代わりに
while($row=mysql_fetch_row($res)){ となります。
$res2 はブール値であり、結果セットはありません
ああ、読み間違えました
しかし、$res は while($row=mysql_fetch_row($res)){ の後にすでに結果セットの末尾を指しています
あなたmysql_data_seek ($res, 1); を使用する必要があります 結果セットをラップします
ただし、ラップされていても、mysql_query($sql2,$conn) によって挿入された値は出力されないことに注意してください
ありがとうございます、チェックアウト