當我嘗試將$stmt->bindParam(':username', $username, PDO::PARAM_STR);
添加到我的腳本時,出現致命錯誤。以下是我的腳本的一部分。我想要做的是讓它使用會話用戶名和id。如果我拿出username = :username
和$stmt->bindParam(':username', $username, PDO::PARAM_STR);
它會正常工作。致命錯誤無效的參數編號:混合的名稱和位置參數
致命錯誤我越來越:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters' in /home/www/test.php:7 Stack trace: #0 /home/www/test.php(7): PDOStatement->execute() #1 {main} thrown in /home/www/test.php on line 7
$action = isset($_GET['action']) ? $_GET['action']: "";
if($action=='delete'){
$username = $_SESSION['user']['username'];<<<<<<<<I ADD THIS LINE
$query = "DELETE FROM hostingpackage WHERE username = :username And id = ?";
$stmt = $db->prepare($query);
$stmt->bindParam(1, $_GET['id']);
$stmt->bindParam(':username', $username, PDO::PARAM_STR);<<<<I ADD THIS LINE
$result = $stmt->execute();
header("Location: test.php");
die("Redirecting to test.php");
}
錯誤消息 「混合命名和位置參數」 那種**拼出來給你**。請勿在一個查詢中同時使用命名(':username')和位置('?')參數。 – DCoder
在查詢和使用'$ stmt-> bindParam(1,$ username);'$ stmt-> bindParam(2,$ _GET ['id']);'' –