1

这让我整天发疯 - 现在我需要一些帮助......

我尝试了两种将数据插入数据库的方法,但都以我以前从未见过的方式失败!

如 mysqld.general.log 中所示,仅使用mysqli->query("...")- 会导致实际查询末尾的尾随逗号。有多少字段,就有多少额外的逗号。

使用该mysqli->prepare方法会导致实际的准备语句出现在日志中!

我在下面包含我的代码以及我在日志中看到的内容..

全局 $mysqli 对象首先在包含文件中创建 - 这肯定有效,因为 select 语句工作正常......

非常感谢任何帮助。

代码:-

function addplaces($placeID,$placename,$easting,$northing,$latitude,$longitude,$parish,$inuse,$shire)
{
 global $mysqli;

 $mysqli->query("INSERT INTO `places` (`placeID`,`placename`,`easting`,`northing`,`latitude`,`longitude`,`parish`,`inuse`,`shire`) VALUES ($placeID,$placename,$easting,$northing,$latitude,$longitude,$parish,$inuse,$shire)");

}

日志输出:-

9594 查询 INSERT INTO places ( placeID, placename, easting, northing, latitude, longitude, parish, inuse, shire) 值 ("12672","Accrington","375500","428500","53.752300262451","-2.3730099201202","Accrington","1",Lancashire ,,,,,,,,) 9594 退出

代码:-

function addplaces($placeID,$placename,$easting,$northing,$latitude,$longitude,$parish,$inuse,$shire)
{
global $mysqli;
$stmt = $mysqli->prepare("INSERT INTO places (placeID,placename,easting,northing,latitude,longitude,parish,inuse,shire) VALUES (?,?,?,?,?,?,?,?,?)") or die ("Could not Prepare Statement");
$stmt->bind_param('sssssssss', $placeID,$placename,$easting,$northing,$latitude,$longitude,$parish,$inuse,$shire );
$stmt->execute();
}

日志输出:-

9595 准备 INSERT INTO 地点(placeID、地名、东、北、纬度、经度、教区、inuse、郡) VALUES (?,?,?,?,?,?,?,?,?) 9595 关闭 stmt 9595 退出

我试过用单引号和双引号将值字段括起来,但仍然得到相同的结果......

另外,由于这是我的第一篇文章,我不确定我是否掌握了这个编辑器的窍门,所以如果我错了,请原谅我。

4

1 回答 1

-1

在我看来,您的 $shire 变量周围没有引号。

于 2013-09-16T03:27:51.387 回答