首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP数据库插入值错误

PHP数据库插入值错误
EN

Stack Overflow用户
提问于 2014-12-01 19:46:17
回答 3查看 558关注 0票数 0

我的代码有一个很大的问题,我不知道为什么我不能在数据库(Mysql )中插入新的值--这是代码:

代码语言:javascript
复制
<?php
if(isset($_POST['add']))
{
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = 'root';
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
      die('Could not connect: ' . mysql_error());
    }

    if(! get_magic_quotes_gpc() )
    {
       $tutorial_title = addslashes ($_POST['tutorial_title']);
       $tutorial_author = addslashes ($_POST['tutorial_author']);
    }
    else
    {
       $tutorial_title = $_POST['tutorial_title'];
       $tutorial_author = $_POST['tutorial_author'];
    }
    $submission_date = $_POST['submission_date'];

“错误”

代码语言:javascript
复制
$sql = "INSERT INTO 'accountmanager'('cuenta', 'emisora', 'serie', 'fecha_compra', 'titulos', 'pc', 'total', 'comision',
     'total_con_com', 'f.v', 'dias', 'precio_venta', 'total_de_venta', 'comision_de_venta', 'total_com', 'utilidad', 
     'monto_total', 'Borrar')".
     "VALUES".
      "('$cuenta', '$emisora', '$serie', '$fecha_compra', '$titulos', '$pc', '$total', '$comision',
     '$total_con_com', '$f_v', '$dias', '$precio_venta', '$total_de_venta', '$comision_de_venta', '$total_com', '$utilidad', 
     '$monto_total', '$Borrar')";

    mysql_select_db('TUTORIALS');
    $retval = mysql_query( $sql, $conn );

    if(! $retval )
    {
      die('Could not enter data: ' . mysql_error());
    }
echo "Entered data successfully\n";
mysql_close($conn);
}

桌子

代码语言:javascript
复制
else

{
?>
<form method="post" action="<?php $_PHP_SELF ?>">
    <table width="600" border="0" cellspacing="1" cellpadding="2">
        <tr>
            <td width="250">Cuenta</td>
            <td>
                <input name="cuenta" type="text" id="cuenta">
            </td>
        </tr>
        <tr>
            <td width="250">Emisora</td>
            <td>
                <input name="emisora" type="text" id="emisora">
                </td>
        </tr>
        <tr>
            <td width="250">Serie</td>
            <td>
                <input name="serie" type="number" id="serie">
            </td>
        </tr>
        <tr>
            <td width="250">Date [ yyyy-mm-dd ]</td>
            <td>
                <input name="fecha_compra" type="text" id="fecha_compra">
            </td>
        </tr>
        <tr>
            <td width="250">Titulos</td>
            <td>
                <input name="titulo" type="" id="titulo">
            </td>
        </tr>
        <tr>
            <td width="250">Precio Compra</td>
            <td>
                <input name="pc" type="number" id="pc">
            </td>
        </tr>
        <tr>
            <td width="250">Total</td>
            <td>
                <input name="total" type="number" id="total">
            </td>
        </tr>
        <tr>
            <td width="250">Comision</td>
            <td>
                <input name="comision" type="number" id="comision">
            </td>
        </tr>
        <tr>
            <td width="250">Total Con Comision</td>
            <td>
                <input name="total_con_com" type="number" id="total_con_com">
            </td>
        </tr>
        <tr>
            <td width="250">Fecha Venta </td>
            <td>
                <input name="f_v" type="number" id="f_v">
            </td>
        </tr>
        <tr>
            <td width="250">Dias</td>
            <td>
                <input name="dias" type="number" id="dias">
            </td>
        </tr>
        <tr>
            <td width="250">Precio Venta</td>
            <td>
                <input name="precio_venta" type="number" id="precio_venta">
            </td>
        </tr>
        <tr>
            <td width="250">Total de Venta</td>
            <td>
                <input name="total_de_venta" type="number" id="total_de_venta">
            </td>
        </tr>
        <tr>
            <td width="250">Comision de Venta</td>
            <td>
                <input name="comision_de_venta" type="number" id="comision_de_venta">
            </td>
        </tr>
        <tr>
            <td width="250">Total Comision</td>
            <td>
                <input name="total_de_venta" type="number" id="total_de_venta">
            </td>
        </tr>
        <tr>
            <td width="250">Utilidad</td>
            <td>
                <input name="utilidad" type="number" id="utilidad">
            </td>
        </tr>

        <tr>
            <td width="250">Monto Total</td>
            <td > 
                <input name="monto_total" type="number" id="monto_total">
            </td>
        </tr>
        <tr>
            <td width="250"> </td>
            <td>
                <input name="add" type="submit" id="add" value="Add">
            </td>
        </tr>
    </table>
</form>

这是我的DB:

代码语言:javascript
复制
INSERT INTO `accountmanager`(`cuenta`, `emisora`, `serie`, `fecha_compra`, `titulos`, `pc`, `total`, `comision`, `total_con_com`, `f_v`, `dias`, `precio_venta`, `total_de_venta`, `comision_de_venta`, `total_com`, `utilidad`, `monto_total`, `Borrar`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7],[value-8],[value-9],[value-10],[value-11],[value-12],[value-13],[value-14],[value-15],[value-16],[value-17],[value-18])

错误:

无法输入数据:您的SQL语法有错误;请检查与您的MySQL服务器版本相对应的手册,以便在第1行使用接近“accountmanager”的正确语法(“cuenta”、“emisora”、“serie”、“fecha_compra”、“titulos”、“pc”)。

我使用MAMP和MYSQL到数据库,但无法连接到插入值或修改数据.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-01 19:52:00

单引号表示字符串,使用回勾表示数据库对象.所以,不是这样的:

代码语言:javascript
复制
INSERT INTO 'accountmanager'('cuenta', ...

用这个:

代码语言:javascript
复制
INSERT INTO `accountmanager`(`cuenta`, ...

字符串值应该用单引号括起来.但是,如果将数据库对象括在单引号中,那么这将使查询解析器感到困惑,因为它认为您试图将值插入字符串文本,而不是表中的列中。

请注意,如果使用参数化查询而不是直接变量,查询将变得更加简洁。

票数 2
EN

Stack Overflow用户

发布于 2014-12-01 19:55:49

在定义要插入的表和列时,不能使用',必须使用backticks。

因此,您的查询应该如下所示:

代码语言:javascript
复制
"INSERT INTO `accountmanager`(`cuenta`, `emisora`, `serie`, `fecha_compra`, `titulos`, `pc`, `total`, `comision`,`total_con_com`, `f.v`, `dias`, `precio_venta`, `total_de_venta`, `comision_de_venta`, `total_com`, `utilidad`, `monto_total`, `Borrar`)
VALUES('$cuenta', '$emisora', '$serie', '$fecha_compra', '$titulos', '$pc', '$total', '$comision', '$total_con_com', '$f_v', '$dias', '$precio_venta', '$total_de_venta', '$comision_de_venta', '$total_com', '$utilidad', '$monto_total', '$Borrar')";

另外,您不应该使用mysql扩展,因为它是不推荐的,以后将被删除。您应该使用米斯里PDO代替

票数 1
EN

Stack Overflow用户

发布于 2014-12-01 19:52:32

为什么对表名和值使用“”?

尝尝这个

代码语言:javascript
复制
$sql = "INSERT INTO `accountmanager`('cuenta', 'emisora', 'serie', 'fecha_compra', 'titulos', 'pc', 'total', 'comision',
     'total_con_com', 'f.v', 'dias', 'precio_venta', 'total_de_venta', 'comision_de_venta', 'total_com', 'utilidad', 
     'monto_total', 'Borrar')
     VALUES
      ('$cuenta', '$emisora', '$serie', '$fecha_compra', '$titulos', '$pc', '$total', '$comision',
     '$total_con_com', '$f_v', '$dias', '$precio_venta', '$total_de_venta', '$comision_de_venta', '$total_com', '$utilidad', 
     '$monto_total', '$Borrar')";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27236034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档