php的数据库问题

时间:2017-03-14 05:14:32

标签: php mysql

我正在尝试在我的数据库中插入一行,但是我似乎总是遇到错误。

有时候我会得到解析错误,有时会出现列错误。

这是我的代码。

提前致谢。

<?php
include_once('config.php');



$asin = $_POST['asin'];
// $title = "<script>document.write(title)</script>";
// $mpn =  "<script>document.write(mpn)</script>";
// $price = "<script>document.write(price)</script>";

$sql = "INSERT INTO `amazon`.`amazon` (`asin`, `title`, `mpn`, `price`) VALUES ($asin, "test", 1, 2)";


  // $sql = 'INSERT INTO amazon'.
  //     '(asin, title, mpn,price) '.
  //     'VALUES ('{$asin},' "test", 1, 2)';

   mysql_select_db('amazon');
   $retval = mysql_query( $sql, $conn );
   if(! $retval ) {
        die('Could not enter data: ' . mysql_error());
     }

     echo "Entered data successfully\n";


     ?>

3 个答案:

答案 0 :(得分:2)

您需要对变量''使用$asin作为:

$sql = "INSERT INTO `amazon`.`amazon` (`asin`, `title`, `mpn`, `price`) VALUES ('".$asin."', 'test', 1, 2)";

答案 1 :(得分:1)

注意: -

  • 您不能在双引号中使用双引号。替换双倍 引用(),单引号(')围绕测试值。

  • 在单引号中使用变量。(示例 - $ asin到'$ asin')

用以下内容替换您的查询: -

$sql = "INSERT INTO `amazon`.`amazon` (`asin`, `title`, `mpn`, `price`) VALUES ('$asin', 'test', 1, 2)";

答案 2 :(得分:1)

你犯了两个错误。在

$sql = "INSERT INTO `amazon`.`amazon` (`asin`, `title`, `mpn`, `price`) VALUES ($asin, "test", 1, 2)";

$ asin和&#34; test&#34;。

如果$ asin是一个整数值,那么它没关系,否则你必须写它&#39;&#34;。$ asin。&#34;&#39;

和&#34; test&#34;错误是您在此处使用的逗号(&#34;),因为您的查询以相同的(&#34;)逗号开头,因此当您在测试之前放置相同的逗号时,查询将在此处结束并为您提供错误。所以用(&#39;)替换这个逗号。

替换&#34;测试&#34;通过&#39; test&#39;。

现在正确的查询是 -

$sql = "INSERT INTO `amazon`.`amazon` (`asin`, `title`, `mpn`, `price`) VALUES ('".$asin."', 'test', 1, 2)";