[英]PHP throwing errors on simple select queries?
不知道發生了什么,我不斷出錯。 我已將問題簡化為一個很小的測試用例,請參見下文:
login.html
<form action="login.php" method="post">
<input type="email" name="email" required />
<input type="password" name="password" required />
<input type="submit" value="Login"/>
</form>
login.php
$email = $_POST["email"];
$password = sha1($_POST["password"]);
$stid2 = oci_parse($conn, 'SELECT EMAIL, PASSWORD FROM TUSERS where EMAIL =: email AND PASSWORD =: password');
oci_execute($stid2);
$nrows = oci_fetch($stid2);
print var_dump($nrows);
失誤
警告:oci_execute():ORA-01008:並非所有變量都綁定在第5行的login.php中
警告:oci_fetch():ORA-24374:在第7行bool(false)上的login.php中進行獲取或執行和獲取之前,定義未完成
您需要將變量$ email和$ password綁定到oracle占位符。 參見oci_bind_by_name 。 另外,占位符應為:email
和:password
。 你有冒號之間的空間( :
)和占位符的名稱( email
和password
)。
您在查詢中添加了變量占位符,但未將任何內容綁定到它們
$stid2 = oci_parse($conn, 'SELECT EMAIL, PASSWORD FROM TUSERS where EMAIL =:email AND PASSWORD =:password');
oci_bind_by_name($stid2, ':email', $email);
oci_bind_by_name($stid2, ':password', $password);
oci_execute($stid2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.