1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

为什么我用php无法增加mysql数据

本帖由 thisword2006-07-28 发布。版面名称:后端开发

  1. thisword

    thisword New Member

    注册:
    2006-03-01
    帖子:
    58
    赞:
    0
    打开
    mysql>create database test_database;
    use test_database;
    create things(i_id int,i_name varchar(40),i_price int);
    insert into things(i_id,i_name,i_price)values(1,'book',30);
    select * from things;
    这里一切正常.


    偶的php:
    $i_id=2;
    $i_name="book";
    $i_price=30;
    $sqllink=mysql_connect("localhost", "_root", "") or die("could not connect.");
    mysql_select_db("test_database");
    $result=mysql_query("insert into things(i_id,i_name,i_price)values(\'$i_id\',\'$i_name\',\'$i_price\')");
    if(!$result)
    {
    echo "lost.",mysql_error();
    exit;
    }


    到这里php可以正常连接mysql但insert不了,为什么?在网上找不到结果啊:mummy:
    痛苦ing... 它的报错:lost.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'2\',\'book\',\'30\')' at line 1

    大家能指点一下小的吗?
     
  2. nine

    nine New Member

    注册:
    2005-09-04
    帖子:
    25
    赞:
    0
    "insert into things(i_id,i_name,i_price)values(\'$i_id\',\'$i_name\',\'$i_price\')"
    改为
    "insert into things(i_id,i_name,i_price)values(".intval($i_id).",'".mysql_real_escape_string ($i_name,$sqllink)."',".intval($i_price).")"
     
  3. 小李

    小李 New Member

    注册:
    2005-11-03
    帖子:
    2,468
    赞:
    20
    SQL 语法错误吗?