2014-06-05 98 views
0

我试图在注册表中应用最后的润色。我想根据他的电子邮件地址来检查用户是否已经拥有一个帐户。但是,PHP不会帮助我。这是我的代码的主要部分。检查用户是否已经拥有PHP和ORACLE的帐户

$s = oci_parse($conn, "SELECT * FROM users WHERE mail='&mail'"); 
    oci_execute($s); 
    $rows = 0; 
    while (oci_fetch($s)) 
    { 
     $rows ++ ; 
    } 
    echo $rows; -> this echos all the time 0 even if I have 10+ registered users with same email 
    if($rows > 0) 
    { 
     //has account 
    } 
    else{ 

     doesn't have account, inserting into DB 
    } 

看来$行的值总是0,不管我做什么。我也试过

SELECT COUNT(*) FROM users WHERE mail='$mail' 

但我无法将正确的值传递给$ rows变量。

其他一切工作正常我的PHP代码。 在此先感谢

+0

你写的第一个代码:mail ='&mail'但是一个变量会被写入$ mail like它在你的第二个代码(sql语句)中,如果我没有记错的话,你必须使用。$ mail。如果你使用“”insted of' – Baalthasarr

+0

这样的话,你可以用点来将字符串与变量联系起来。“这对我来说很愚蠢。这是因为第一次选择时的&符号。非常感谢 – KupiKupi

回答

0

错误来自你写的sql语句&邮件insted $ mail。 顺便说一句,你可以使用功能oci_num_rows($s)这个功能,你不必使用while循环

相关问题