<?php
if(isset($_GET['username'])&&isset($_GET['activationid'])){
require_once("../database/db_connect.php");
$stmt= $mysqli->stmt_init();
$stmt->prepare("Select username FROM users where username= ? AND activationid= ?");
$username=$_GET['username'];
$activationid=$_GET['activationid'];
$stmt->bind_param("ss",$username,$activationid);
$stmt->execute();
$row=$stmt->get_result()->fetch_array(MYSQLI_ASSOC);
if(!strcmp($row['username'],$username)){
echo 'you are registered successfully';
$stmt->prepare("UPDATE users SET active=yes where username = ?");
$stmt->bind_param("s",$username);
$stmt->execute();
}
}
?>
和db_connect.php是:
<?php define('DBHOST','localhost'); define('DBUSER','root'); define('DBPASS','password'); define('DBNAME','Reminder'); $mysqli= new mysqli(DBHOST,DBUSER,DBPASS,DBNAME) ; if($mysqli->connect_error) { echo $mysqli->mysqli_connect_error(); } else { echo "connected successfully"; } ?>
这给了我这个错误:
警告:mysqli_stmt :: bind_param():变量数量不匹配 []中已准备好的语句中的参数数有人能告诉我我在做什么错吗?
我想运行多个mysql查询(不能同时运行)。我正在使用准备好的声明来这样做。这是我的代码的要点: