我正在尝试在我的数据库中插入一行,但是我似乎总是遇到错误。
有时候我会得到解析错误,有时会出现列错误。
这是我的代码。
提前致谢。
<?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";
?>
答案 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)";