我有一个数据库,但无法在其中插入值。 这是我的数据库和代码。

你能告诉我我的问题是什么吗?

输出告诉我我的sql语法错误。 但是,我可以毫无问题地从phpmadmin添加值。

当我使用代码时,我会失败。 而且,我找不到任何问题。

非常感谢yuy。

数据库

<?php

$db_username = "root";
$db_password = "pass";
$db = "rmado";
$db_server = "localhost";

$db_handle = mysql_connect($db_server, $db_username, $db_password);
$db_found = mysql_select_db($db, $db_handle);
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{
    $title = $_POST['username'];
    $desc  = $_POST['password'];
    $aaa   = $_POST['type'];
    $bbb   = $_POST['email'];

    $query = "insert into users(username, password, type, email) values ($title, $desc, $aaa, $bbb)";

    mysql_query($query);
}

?>
<html>
    <body>
    <div id="login_form">

        <form name="login_form" method="post" action="zort.php">

            username: <input name="username" type="text" value="">
            password: <input name="password" type="text" value="">
            type: <input name="type" type="text" value="">
            email: <input name="email" type="text" value="">


            <input name="addtask" type="submit" value="add task">

        </form>

    </div>
    <!-- end login_form-->
    </body>
</html>

非常感谢你。

编辑:

id:int(5)

标题:varchar(30)

desc:varchar(50)

Assigner_id:int(5)

Assignee_id:int(5)

creation_date:日期

due_date:日期

status_id:int(5)

category_id:int(5)

这是我的PHP代码:

$query = "insert into tasks (title, desc, assigner_id, assignee_id, creation_date, due_date, status_id, category_id) values ('$title', '$desc', $ass1, $ass2, '$cre', '$due', $stat, $cat)";

这段代码哪里出问题了? 非常感谢你。

===============>>#1 票数:0 已采纳

按照您最初的问题:所有这些字段都是表中的文本。 您不会在这些文本字段的原始查询中用引号将值引起来。 也就是说,以下将适用于您的示例:

$query = "insert into users (username, password, type, email) values " .
         "('$title', '$desc', '$aaa', '$bbb')";

这将使MySQL知道要为这些字段插入哪些字符串。

但是 ,此页面上存在一些问题。 恶意用户可能将一些MySQL可接受的字符串放入这些字段中,这些字符串可能会对您的数据库造成损害。 您需要转义输入字符串,以防止恶意内容损坏数据库。

在使用不赞成使用的库时,请考虑同时使用mysqliPDO 请参阅此处的一些示例。

另外,您的字段不应为文本字段。 它们确实应该是varchars,您应该限制它们的长度。

编辑

您的第二个查询需要用反引号将desc封装起来,因为DESC是保留的MySQL降级字。

  ask by citizen_of_noobville translate from so

未解决问题?本站智能推荐:

关注微信公众号