Hala PHP, MySQL ve diğer birkaç dili öğreniyorum. Geliştirmeye ve öğrenmeye çalışırken bir tarayıcı oyunu geliştirdim.PHP dizisini MySQL içinde saklayın
Şimdi, her bir kavgadan bir "savaş günlüğü" kaydetmeye çalışıyorum, bu da kullanıcıların geri dönmelerine ve geçmişteki kavgalarına bakmalarına izin verecek.
Bunu çözmek için her dövüş turunu bir php dizisine depolamayı denedim. Benim için sorun şu ki, bir kullanıcının istediği ve onlara göstermesi için o diziyi veritabanım içine kaydetmek.
PHP'nin serileştirmesi ve json_encode ile uğraşmaya çalıştım. Ancak onları bir sözdizimi hatası veya boş bir satır vereceği için onları DB'mde saklamıyorum.
Burada, neyi başarmaya çalıştığımı göstermek için bir örnek!
$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));
Bu sorunu çözmeme yardımcı olacak tüm girdiler büyük ölçüde takdir edilecektir.
veri türü battle_log? –
Veri türü, tablonuzdaki 'battle_log' için 'TEXT' olmalıdır ve bence 'json_encode ($ battle_log, true)' – hmd
Evet, DB'mde TEXT yazmalısınız. – Naxor