簡體   English   中英

PHP在簡單的選擇查詢上拋出錯誤?

[英]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 你有冒號之間的空間( : )和占位符的名稱( emailpassword )。

您在查詢中添加了變量占位符,但未將任何內容綁定到它們

$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);

參見oci_bind_by_name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM