我正在尝试从 mySql 语句切换到 PDO 准备语句,但是如果插入成功(以前是if($result) {...}
),我无法确定我必须使用的 if/else 语句的正确语法。
我知道 $stmt->execute(); 成功时返回 true,失败时返回 false,但我无法确定如何设置语句以对此采取行动。
新代码(PDO 准备好的语句)
$gender = $_POST['gender'];
if ($gender==="female" ) {
try {
$stmt = $conn->prepare('INSERT INTO customer_info (fname...) VALUES(:fname...)');
$stmt->bindParam(':fname', $_POST['fname'], PDO::PARAM_STR);
$stmt->execute();
} catch(PDOException $e) {
echo $e->getMessage();
}
这是原始if ($gender==="female")
功能的其余部分
$result = @mysql_query($qry);
if($result) {
$qry="SELECT * FROM customer_info WHERE user_name='$_POST['user_name']' AND password='$_POST['password']'";
$result=mysql_query($qry);
if($result) {
if(mysql_num_rows($result) == 1) {
//user_name Successful
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_USER_ID'] = $member['user_id'];
session_write_close();
header("location: flatter_iframe.html");
exit();
}else {
header("location: login_failed.html");
exit();
}
为了简化事情,我删除了大部分变量(因为代码是相同的)