问题与mysqli_query有关

时间:2016-11-05 08:01:02

标签: php mysqli

mysqli_query功能不起作用

$query=mysqli_query($config,"INSERT into users (username,first_name,last_name,email,password) VALUES('$un','$fn','$ln','$em','$pass','$date','0')");"); 

当我回显SQL查询时,它运行正常,但当我尝试插入数据库时​​,它没有做任何事情并转到下一行。

我使用了像$signup = @$_POST['signup'];

这样的提交按钮

signup是提交按钮的名称。

3 个答案:

答案 0 :(得分:1)

您需要修复查询,因为您已经说明了5个字段并尝试插入7个值...

因此,一旦您知道“no_clue_what_this_guy_is_called和日期”的字段名称,您就可以进一步发展。另外,请注意你的“),因为你有太多...

另外请注意,请不要使用短变量名称。这真是太痛苦了。输入“大词”并不值得。 I.E. $ un应为$ user_name等。

因此,根据您的问题和错误的变量名称,您需要类似......

的内容
$query = mysqli_query($config, "INSERT into users(
                    username,
                    first_name,
                    last_name,
                    email,
                    password,
                    date,
                    no_clue_what_this_guy_is_called
                    ) VALUES (
                    '$un',
                    '$fn',
                    '$ln',
                    '$em',
                    '$pass',
                    '$date',
                    '0'
                    )"); 

您只需要引用varchars / text等列。不要在整数周围使用单引号。

还有更多可以说的,但这应该让你解决这个问题的一部分。 我不确定你的表中定义了什么类型'0'。

答案 1 :(得分:0)

<强>的信息

INSERT INTO语句有两种基本语法如下:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);

如果要为表的列添加所有的值,则可能不需要在SQL查询中指定列名称。

INSERT INTO TABLE_NAME VALUES (value1,value2,value3);

如何检查错误

您还可以检查您的连接是否已建立或以下代码是否有任何错误:

if (!$config) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

或者最后,您可以使用以下方法检查查询错误:

echo mysqli_error($config);

有关调试的更多信息,请阅读here

代码中的问题

<强> 1 在您的代码中,您有太多),它应该如下所示:

$query=mysqli_query($config,"INSERT into users (username,first_name,last_name,email,password) VALUES('$un','$fn','$ln','$em','$pass','$date','0');");

<强> 2 你也试图在5个表中插入7个值,VALUES中有太多的表,或者你写的表太少了。

第3 @之前删除$_POST,因为可能存在某些错误,导致它不会显示。可以找到更多信息here

答案 2 :(得分:0)

我建议你像这样使用

$con = mysqli_connect("host_name","db_username","db_password","db_name");

$query = "insert into tbl_name(col1,col2,col3) values('$val1','$val2','$val3')";

$insert = mysqli_query($con,$query);