Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQL-无法删除脚本的某些部分_Php_Mysql - Fatal编程技术网

PHP MySQL-无法删除脚本的某些部分

PHP MySQL-无法删除脚本的某些部分,php,mysql,Php,Mysql,我有一个奇怪的问题 基本上我有一个用户可以注册的页面。信息被发送到一个MySQL数据库,存储在那里。在页面上完成任何工作之前,如果表已经存在,我希望有一个简短的脚本来更改。如果它不存在,则将创建它,如果它确实存在,则继续执行下一个任务 然而,由于某种原因,如果我删除“ReportResult”部分,我会收到一个错误(请参见下面的脚本)。我想删除它的原因基本上是因为用户不需要知道刚刚创建了一个表 为什么我不能删除此部件而不出错 <?php $table = "datab

我有一个奇怪的问题

基本上我有一个用户可以注册的页面。信息被发送到一个MySQL数据库,存储在那里。在页面上完成任何工作之前,如果表已经存在,我希望有一个简短的脚本来更改。如果它不存在,则将创建它,如果它确实存在,则继续执行下一个任务

然而,由于某种原因,如果我删除“ReportResult”部分,我会收到一个错误(请参见下面的脚本)。我想删除它的原因基本上是因为用户不需要知道刚刚创建了一个表

为什么我不能删除此部件而不出错

<?php

$table       =     "database";

$servername      =  "xxx";
$username    =  "xxx";
$password    =  "xxx";
$dbname              =  "xxx";

// Connect to database
$conn = new mysqli($xxx, $xxx, $xxx, $xxx);

// Create table if it does not exist
$sql = "CREATE TABLE IF NOT EXISTS $table (
        id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        example-1VARCHAR(30) NOT NULL,
        example-2 VARCHAR(30) NOT NULL,
        example-3 VARCHAR(50),
        example-4 VARCHAR(50),
        example-5 VARCHAR(50),
        reg_date TIMESTAMP
        )";

// Report result <---------------------- PROBLEM HERE
if ($conn->query($sql) === TRUE) {
    echo "Table created successfully";
    } else {
    echo "Error creating table: " . $conn->error;
}

// Insert data into table
if (isset($_POST["submit"])) {

    $example-1      =   $_POST['example-1'];
    $example-2      =   $_POST['example-2'];
    $example-3      =   $_POST['example-3'];
    $example-4      =   $_POST['example-4'];
    $example-5      =   $_POST['example-5'];

    // Check if already exist in table
    $query = "SELECT * from $table where email ='$example-3'";

    if ($result=mysqli_query($conn,$query))

        {
            if(mysqli_num_rows($result) > 0) {

            // If already exist in table
            echo "Already exists";

        } else

            // If doesn't exist, add to table
            $sql = "INSERT INTO $table (example-1, example-2, example-3, example-4, example-5)
            VALUES ('".$example-1."', '".$example-2."', '".$example-3."', '".$example-4."', '".$example-5."')";

            if ($conn->query($sql) === TRUE) {
                echo "New record created successfully";
            }

        } else

        // If everything fails for technical reason 
        echo "Query Failed.";

}

$conn->close();

?>
删除“报告结果”块时,必须至少保留以下部分:
$conn->query($sql)。否则,根本不会创建该表

根据@chris85注释,变量名不得包含负数
-
请参见

语句
$example-2
执行数学运算为
$example减2
,所以如果
$example=5
,则结果为
3
。这是你不想要的

更好的变量名应该是
$example2
$example2

删除“报告结果”块时,您必须至少保留以下部分:
$conn->query($sql)。否则,根本不会创建该表

根据@chris85注释,变量名不得包含负数
-
请参见

语句
$example-2
执行数学运算为
$example减2
,所以如果
$example=5
,则结果为
3
。这是你不想要的


更好的变量名应该是
$example\u 2
$example2
$example-2
等。这些变量名无效。你收到了什么错误?您还可以接受SQL注入。
$example-2
等都是无效的变量名。你收到了什么错误?你也可以接受SQL注入。Thanx伙计们!主要问题是我不知道必须使用$conn->query($sql)。。。我是新来的。。。现在一切都好了,又是桑克斯!Thanx伙计们!主要问题是我不知道必须使用$conn->query($sql)。。。我是新来的。。。现在一切都好了,又是桑克斯!