2013-02-23 52 views
0

我創建了一個.php文件,當我試圖通過localhost執行它時,它什麼也沒有顯示。如果腳本工作正常,那麼它應該在屏幕上打印一些東西。 < - 腳本的基本概念,但沒有任何顯示。我的PHP文件沒有執行

<?php 
$con = mysql_connect("localhost","somanshu","somanshu"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("james007", $con); 

$result = mysql_query("SELECT * FROM info"); 
while($row = mysql_fetch_array($result)) 
    { 
    if($_POST['mail'] == $row['email']) 
    { 
    echo "Logged In.<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=home\">"; 
    } 
    else 
    { 
    $sql="INSERT INTO info (email, password) 
    VALUES 
    ('$_POST[mail]','$_POST[pwd]')"; 
    if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 
    else 
    { 
    echo "Added. <META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=home\">"; 
    } 
    } 
    } 
mysql_close($con); 
?> 
+0

您正在使用即將被刪除的API。使用PDO或MySQLi,而不是ext/mysql,否則你會突然發現你的代碼不起作用。此外,由於缺乏適當的(使用的)轉義和缺乏準備好的語句,所以它是不安全的 – Amelia 2013-02-23 12:50:19

回答

0

確保有在數據庫中選擇數據。如果SELECT * FROM info不返回任何行,則此腳本不會輸出任何內容。

+0

這有效。其實,我清空我的桌子(通過TRUNCATE方法。)感謝您的幫助。 – 2013-02-23 13:03:30

2

使用ini_set('error_reporting', E_ALL);,看看它的給出錯誤。

將以下代碼添加到頁面頂部。

error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

如果還沒有顯示錯誤,然後嘗試

mysqli_select_db("james007", $con)or die(mysqli_error()); 

還要檢查

mysqli_query("SELECT * FROM info")or die(mysqli_error()); 
+0

這是一個開始,因爲代碼看起來並不是一見鍾情...... – 2013-02-23 12:26:03

+0

@Miloshio更好地使用mysqli_ *或PDO ... – 2013-02-23 12:29:22

+0

我的意思是代碼看起來不會破壞,如果有人喜歡忽略來自PHP團隊的官方警告,那麼這與個人偏好有關。當然最好切換到PDO或mysqli – 2013-02-23 12:33:12

0

第一件事第一件事: 是否執行php?要找出創建一個名爲test.php的文件並寫入

<?php 
phpinfo(); 
?> 

裏面。

如果這不起作用,你必須正確設置你的網絡服務器的PHP。

+0

'phpinfo()'不'php_info()'我不能編輯你的文章,因爲它不夠大。 – sjdaws 2013-02-23 12:36:23

+0

爲您編輯。 – sevenseacat 2013-02-23 12:41:31

+0

對不起,在醫院做記憶時:-) – 2013-02-23 12:51:15