如果在php中查询成功,如何提醒用户


How to alert the user if the query is successful in php?

我想提醒用户数据库的查询或更新是否成功。。

adduser.php

<?php
include('sqlconnection.php');
$firstname = $_POST['fname'];
$lastname = $_POST['lname'];
$middlename = $_POST['mname'];
$password = $_POST['pword'];
$username = $_POST['uname'];
$gender = $_POST['gender'];
$utype = $_POST['utype'];
$query = "INSERT INTO user (firstname,lastname,middlename,gender) VALUES ('$firstname','$lastname','$middlename','$gender')";   
mysql_query($query);
$result = mysql_query("SELECT id FROM user WHERE firstname = '$firstname'");
$row = mysql_fetch_assoc($result);
mysql_query("INSERT INTO accounts (u_id,username,password,utype) VALUES ('$row["id"]','$username',md5('$password'),$utype);")
?>

我该如何提醒用户?或者我应该用什么来给用户一条弹出消息,说它成功了?

检查受影响的行数,引用http://php.net/manual/en/function.mysql-affected-rows.php.

此外,mysql_*函数也会贬值,请尝试使用mysqli_*PDO

为mysql_query分配一个变量,例如:

 $result = mysql_query("your query");
 if($result){
 $xxx = "query successful";
 }else{
 $xxx = "query failed";
 }

在hmtl中:

 <script>
 alert(<?php echo $xxx;?>);
 </script>

这是一种方式,从这里你可以玩任何你想做的


附带说明:从PHP 5.5.0开始,Mysql_*扩展已被弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。

一个有用的链接为什么我不应该在PHP 中使用mysql_*函数

mysql_query()对于无效查询返回false。mysql_num_rows()返回为select等查询返回的记录数。mysql_affected_rows()检查受影响的行。

EG:

$result = mysql_query("your query");
if($result){ 
  //query successful but this doesn't mean it returned anything
  //you can now use mysql_num_rows (for select query) to check if something is returned
  if( mysql_num_rows($result) > 0 ){
   //some results were returned
  }
  //for insert, update or delete query you need to check affected rows like this
  if( mysql_affected_rows() > 0 ){
   //some records were updated or deleted
  }
}else {
  echo "There was a problem";
}

旁注:MySQL_*扩展从PHP 5.5.0开始就不推荐使用,将来会被删除。请改用MySQLiPDO