2014-09-01 4 views
-1

Следующий код не работает, а строка echo является пустой строкой при вызове php-страницы.PHP не выполняется должным образом

Однако, когда я удаляю часть, где я проверяю, существует ли имя пользователя, код работает должным образом.

Почему это происходит?

<?php 

$db = new PDO('mysql:dbname=tipcc;host=localhost;charset=utf8', 'root', 'plsdonthack'); 

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

// This Part Is Causing Some Problem 

$flag=0; 
$temp = $_GET[username]; 
$stmt2 = $db->prepare ("SELECT * FROM userinfo WHERE USERNAME=:username2)"); 
$stmt2->bindParam (':username2',$temp,PDO::PARAM_STR); 

$stmt2->execute(); 

// Till Here. 

if ($stmt2->rowCount() > 0) 
{ 
    $flag=1; 
} 

if ($flag == 0) 
{ 
// This Part Works Fine 

    $stmt=$db->prepare ("INSERT INTO userinfo (NAME,IDNO,USERNAME,PASSWORD) 
    VALUES 
    (:name,:idno,:username,:password)"); 

    $stmt->bindParam (':name',$_GET[name], PDO::PARAM_STR); 
    $stmt->bindParam (':idno',$_GET[idno], PDO::PARAM_STR); 
    $stmt->bindParam (':username',$_GET[username], PDO::PARAM_STR); 
    $stmt->bindParam (':password',$_GET[password], PDO::PARAM_STR); 

    if ($stmt->execute() == 1) 
     { 
      echo "Registered Sucessfully...!! Goto Contests and Code..!"; 

     } 
     else 
     { 
      echo "Not Registered Due To Some Internal Error....Contact Rohith R"; 
     } 
    // Till Here 
} 

else 
{ 
    echo "Username Already Exists....Choose Another One"; 
} 



?> 
+0

'$ temp = $ _GET [имя пользователя];' вы забыли процитировать ключ: '$ temp = $ _GET ['username'];' –

+0

все еще не работает – PRP

ответ

3

Вы ошибка в вашем SQL коде

SELECT * FROM userinfo WHERE USERNAME=:username2) 

Сними закрывающую скобку в конце инструкции.

Ваш код генерирует исключение, но вы не видите его из-за отключенного параметра display_error в конфигурации PHP.

+0

yea ... Спасибо, ответ будет принят .. . !! – PRP

0

Попробуйте поместить свой код в Try/поймать блока:

try{ 

// your queries here 

}catch(PDOException $Exception){ 
    echo $Exception->getMessage(); 
} 

Вы можете бросить еще одно исключение после того, как вы видите или зарегистрировать ее.

Смежные вопросы