我有大约200个字符,我试图在数据类型longtext下插入我的数据库,我也试过普通文本。
使用longtext可以让我更加适合,但是当我尝试键入大约200个字符时,根据MySQL错误显示它太长了。
我不确定这是如何工作的,因为LONGTEXT可以存储多达4GB的字符。
结构:
如果您需要任何其他信息,请与我们联系!
顺便使用来自POST数据的MySQLi查询插入数据库。
错误:
查询:
$q = $mysqli->query("INSERT INTO `lunar_casino`.`posts`(`id`, `by`, `title`, `message`, `image`, `category`, `date`) VALUES(NULL, '$user', '$title', '$message', '$image', '$category', NOW())");
if(!$q){
echo "<font color='red'><b>There has been an error with our database! Please contact the website administrator!</b></font><br /><br />";
echo $mysqli->error;
} else {
echo "<font color='green'><b>You have successfully added a blog post!</b></font><br /><br />";
}
答案 0 :(得分:2)
这与大小无关,你有一个SQL错误。您没有正确使用prepared statements,并且似乎在查询中逐字粘贴数据。
您可以通过实际的SQL错误来判断:
“......正确的语法靠近'我没有......”。
'
字符搞砸了查询。
要正确修复,请使用预准备语句:
$stmt = $mysqli->prepare("INSERT INTO `lunar_casino`.`posts` (`id`, `by`, `title`, `message`, `image`, `category`, `date`) VALUES(NULL, :user, :title, :message, :image, :category, NOW())");
$stmt->bind_param(":user", $user);
$stmt->bind_param(":title", $title);
...etc...
$stmt->execute();