MYSQL为每个新用户创建一行

时间:2019-05-21 07:21:59

标签: php mysql

我有一个小问题

我想创建一个脚本,该脚本在表中创建新行,如果有新用户,并且在该行中,将“点”列更改为零(0)

这是我当前的代码:

<?php
header('Content-Type: text/html; charset=Windows-1250');    
$firstName = $_POST['firstname'];



$servername = "db.mysql-01.gsp-europe.net";
$username = "xxxxxxxxxx";
$password = "xxxxxxxxxxx";
$dbname = "xxxxxxxxxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// sql to create table

$sql = "UPDATE `member_profile` SET points = points + 1 WHERE user_id = '$firstName'";


if ($conn->query($sql) === TRUE) {
    echo "Thingz created successfully";
} else {
    echo "Error doing sum thingz: " . $conn->error;
}

$conn->close();



?>

我在多维数据集中需要的内容:当出现新的user_id($ firstName)时,使用该用户名创建新行,并将“点”列从“空”更改为零(0)

感谢您的宝贵时间,

1 个答案:

答案 0 :(得分:1)

如果我很好理解,您想检查用户是否存在。如果用户是新用户,则为该用户创建0分的新行,如果存在增量,则为1。


<?php

header('Content-Type: text/html; charset=Windows-1250');  
if(isset($_POST['firstname'])){  
$firstName = $_POST['firstname'];



$servername = "db.mysql-01.gsp-europe.net";
$username = "xxxxxxxxxx";
$password = "xxxxxxxxxxx";
$dbname = "xxxxxxxxxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// check if the user exist
$check = "SELECT * FROM `member_profile` WHERE user_id = '$firstName'";
$result = mysqli_query($conn,$check) or die(mysqli_error($conn));
        $rows = mysqli_num_rows($result);
        //if exist increse points with 1
        if($rows>=1){

$sql = "UPDATE `member_profile` SET points = points + 1 WHERE user_id = '$firstName'";


if ($conn->query($sql) === TRUE) {
    echo "Thingz created successfully";
} else {
    echo "Error doing sum thingz: " . $conn->error;
}
        }
        //if don't exist create user with points 0
        if($rows==0)
        {
            $query = "INSERT into `member_profile` (user_id, points) VALUES ( '$firstName' ,'0')";

            $result = mysqli_query($conn,$query)or die(mysqli_error($conn));
$conn->close();

        }
}

?>

请记住,我给了你一个主意,该代码易于sql注入