它几个小时后就工作得很好,但现在它在浏览器中显示代码而不是执行它。复查三次代码,文件扩展名为检查,甚至重新输入整个代码到一个新的PHP,这个错误是困扰我。php代码在屏幕上打印出来而不是执行?
我的代码是这样的:
<?php include('usersign.php'); ?>
<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "******";
$dbname = "userdatabase";
$username = $_POST['username'];
$email = $_POST['email'];
$category1 = $_POST['category1'];
$category2 = $_POST['category2'];
$category3 = $_POST['category3'];
$password = $_POST['password'];
$date = date_default_timezone_set('Asia/Kolkata');
$date = date('M-d,Y H:i:s');
$conn = new mysqli ($servername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO user (username, email, category1, category2, category3, password, date)
VALUES ('$username', '$email', '$category1', '$category2', '$category3', '$password', '$date')";
if ($conn->query($sql) === TRUE) {
echo '<script language="javascript">';
echo 'alert("You have succesfully registerd with userdatabase Please login..")';
echo '</script>';
echo '<a href="usersign.php"></a>';
}
else {
echo "ERROR" . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
任何建议表示赞赏。 ..
您可以[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)开放,并且确实应该使用[Prepared Statements](http:// php。 net/manual/en/mysqli.quickstart.prepared-statements.php)而不是串联你的查询。特别是因为你甚至没有逃避用户输入...从来没有永远不会使用用户输入没有正确逃脱它第一... –
它的工作...我刚刚重新启动服务器。谢谢你..你为什么不把它作为答案发布...... @ MagnusEriksson – harishk
添加它作为答案....作为一条经验法则,如果某件事情刚刚起作用,而且您没有改变任何事情,那么始终要重新开始它。事情有时会无声地崩溃... –