插入和创建SQL语句不起作用

时间:2018-01-27 14:56:09

标签: php mysql

我是php编程的新手,因此我尝试将我的php文件与sql数据库连接。它一直在工作,直到我想到使用查询并执行它们。有人可以帮助我为什么我总是得到“错误查询数据库”?

$query = "INSERT INTO user (surname, name, e-mail, password) VALUES ('$text', '$text2', '$text3', '$text4')";
    $query2 = "CREATE TABLE $text3 (
    name VARCHAR(30)  PRIMARY KEY, 
    password VARCHAR(30))";
    //make the query

    $result = mysqli_query($db, $query) or die('Error querying database.');
    $result2 = mysqli_query($db, $query2) or die('Error querying database1.');

我之前与数据库有明确的联系。

我的第二个问题是正确使用Create Table语句。我想创建一个名为用户电子邮件地址的表。这是正确的用法吗?

CREATE TABLE $text3 (
name VARCHAR(30)  PRIMARY KEY, 
password VARCHAR(30))";

我特别想知道我是否需要在$ text3之前设置'。

2 个答案:

答案 0 :(得分:1)

我在@FunkFortyNiner的帮助下解决了这个问题,问题在于 - 电子邮件之间。我需要删除它。 现在代码看起来像这样:

$query = "INSERT INTO user (surname, name, email, password) VALUES ('$text', '$text2', '$text3', '$text4')";
$query2 = "CREATE TABLE $text3 (
name VARCHAR(30)  PRIMARY KEY, 
password VARCHAR(30))";
//make the query

$result = mysqli_query($db, $query) or die('Error querying database.');
$result2 = mysqli_query($db, $query2) or die('Error querying database1.');

答案 1 :(得分:-2)

使用

die('Error querying database.' . mysqli_error($db) );

了解确切的错误。

更具体地说,使用e_mail或电子邮件而不是电子邮件作为数据库架构中的列名。