2013-02-23 55 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