我正在开发一个android应用程序。此应用程序的登录和注册页与php页连接,数据通过php页存储到mySql数据库中。现在,当用户单击“注册”按钮时,数据应该通过php保存在数据库中。这很好用。当用户单击Login时,应该验证用户名和密码。这个也很好用。但是当用户单击Login时,我希望在用户名和密码验证之后立即将数据从一个表复制到另一个表。一个标志应该设置为'1‘,并发送到android。但是,如果我在php代码中添加对复制数据的查询,那么所有的查询都不会执行,标志也不会发送到android应用程序。如果我评论$select3 Query,它的工作fine.Please给了我解决方案。我对php和mysql完全陌生。请看下面的代码:
<?php
// Connection...
$name = mysqli_real_escape_string($con, $_POST['Uname']);
$password =mysqli_real_escape_string($con, $_POST['Password']);
$flag['code']=0;
$select2="update Table1 SET TimeIN=NOW() where BINARY Uname=BINARY'$name' AND BINARY Password = BINARY'$password'";
$select3 = "insert into Table2 (Uname,Password,Email,Mobile,IP_Address,TimeIN,TimeOUT)select Uname,Password,Email,Mobile,IP_Address,Time,Timeout from Insert1 where BINARY Uname = BINARY '$name' AND BINARY Password = BINARY'$password';"
$result=mysqli_query($con,"select * from Table1 where BINARY Uname = BINARY'$name' AND BINARY Password = BINARY'$password'");
$s=mysqli_query($con,$select2);
$t=mysqli_query($con,$select3);
$num_rows = $result->num_rows;
if($num_rows > 0)
{
$flag['code']=1;
}
print(json_encode($flag));
mysqli_close($con);
?>发布于 2014-05-28 08:21:59
您最好使用Mysqli对象。例如:
$database = new mysqli(url, username, password, database);
$query = $database->stmt_init($select);
$query->execute();但使用预先准备的陈述更安全:
$query = $database->stmt_init();
$query->prepare("update Table1 SET TimeIN=NOW() where Uname=? AND BINARY Password = ?");
$query->bind_param("ss", $uname, $password); //with ss you say you will bind two strings to the question marks.
$query->execute();若要读取数据:
$query = $database->stmt_init();
$query->prepare("select * from Table1 where Uname =? AND Password =?;");
$query->bind_param("ss", $uname, $password);
$query->execute();
$rows = $query->num_rows;我希望这能帮到你。
https://stackoverflow.com/questions/23905545
复制相似问题