php脚本和死亡报告

时间:2018-05-15 08:03:19

标签: php mysql database mysqli

我已经继承了一些脚本并且它们按预期工作但它们都发送了某些错误报告。我在PHP方面不强,所以我在这里寻找一些智慧。

这是脚本的样本。

它监听用户活动,并通过UserID在DB中设置时间戳,告诉我们用户处于活动状态。

<?php
header('Access-Control-Allow-Origin: *');

$db = "xxx";//Your database name
$dbu = "xxx";//Your database username
$dbp = "xxx";//Your database users' password
$host = "xxx";//MySQL server - usually localhost

$link = mysqli_connect($host,$dbu,$dbp,$db);

if (!$link) {
    die(file_put_contents('error.dat', "activity connect db link fail: \n". mysqli_connect_error()));
}
//mysqli_set_charset($link, "utf8")
if (!mysqli_set_charset($link, "utf8")) {
    //printf("Error loading character set utf8: %s\n", mysqli_error($link));
    exit();
//} else {
    //printf("Current character set: %s\n", mysqli_character_set_name($link));
}

if(isset($_POST['uid'])){

     //Lightly sanitize the GET's to prevent SQL injections and possible XSS attacks
     $uid = strip_tags(mysqli_real_escape_string($link, $_POST['uid']));
     $sql = mysqli_query($link, "UPDATE ACTIVITY SET time=NOW() WHERE uid='$uid' ");

     if($sql){
    die(file_put_contents('error activity.dat', "activity $sql insert failed: \n". mysqli_connect_error()));
    }

//}else{
     //echo 'some error...';
}

mysqli_close($link);//Close off the MySQL connection to save resources.
?>

iw checked ...脚本正确输入数据库,但它也会创建错误activity.dat 有消息: 活动1插入失败:

现在的问题是......这是一种良性和不好意思我只是评论,所以它不会再创建错误文件或脚本需要一些修复?

谢谢!

1 个答案:

答案 0 :(得分:1)

根据您的代码工作:

if($sql){
    die(file_put_contents('error activity.dat', "activity $sql insert failed: \n". mysqli_connect_error()));
}

这意味着如果$ sql为true,则将错误消息放入activity.dat

像这样做

if(!$sql){
    die(file_put_contents('error activity.dat', "activity $sql insert failed: \n". mysqli_connect_error()));
}

这意味着如果$ sql不为true,则将错误消息放入activity.dat