所以我还在学习PHP,MySQL和其他一些语言。 虽然我正在努力改进和学习,但我开发了一款浏览器游戏。
现在我正试图保存一个"战斗日志"从每次发生的战斗中,我的用户都可以回去看看他们过去的战斗。
为了解决这个问题,我试图将每个战斗存储到php数组中。 我现在的问题是将该数组保存到我的数据库中,以便用户请求并向他们显示。
我试图搞乱PHP的序列化以及json_encode。 但我无法将它们存储在我的数据库中,因为它会给我一个语法错误或空行。
这是一个显示我想要实现的内容的示例!
$i = 1;
$battle_log = array();
while( $i <= 10)
{
$battle_log[] = "Round ".$i."<br>";
$i++;
}
foreach ($battle_log as $rounds => $round) {
echo "".$round."";
}
$save_log = json_encode($battle_log);
$sql = "INSERT INTO battle_log_test VALUES fighter1_id='13', fighter2_id='45', battle_log='".$save_log."' ";
$result = mysqli_query($connection, $sql) or die(mysqli_error($connection));
非常感谢所有帮助我解决这个问题的输入。
答案 0 :(得分:1)
你必须使用:
$query = "INSERT INTO battle_log (fighter1_id,fighter2_id,battle_log) VALUES (13,45,'".$save_log."');";
$sql = $mysqli_query($connection,$query) or die($mysqli_error($connection));
答案 1 :(得分:0)
你的INSERT查询错误,应该是:
$sql = "INSERT INTO battle_log_test
(fighter1_id, fighter2_id, battle_log)
VALUES
('13', '45', '".$save_log."')";
答案 2 :(得分:0)
你可以使用PHP serialize()函数inssed json_encode()
$i = 1;
$battle_log = array();
while( $i <= 10)
{
$battle_log[] = "Round ".$i."<br>";
$i++;
}
foreach ($battle_log as $rounds => $round) {
echo "".$round."";
}
$save_log = serialize($battle_log);
$sql = "INSERT INTO battle_log_test VALUES fighter1_id='13', fighter2_id='45', battle_log='".$save_log."' ";
$result = mysqli_query($connection, $sql) or die(mysqli_error($connection));