$guncelle = mysql_query("UPTADE mesajlar SET yazan='$adsoyad',eposta='$eposta',mesaj='$mesaj',o nay='$onay' WHERE id='$id'");
buradaki yanlış nedir arkadaşlar yardımcı olabilirseniz sevinirim. biraz araştırdım sondaki tek ve çift tırnağın yan yana olmasından kaynaklandığı yönünde düşündürdü. mysql_real_escape_string fonksiyonunu da denedim fakat tam olarak nasıl kullanacağımı bilmediğimden dolayı belki yapamamışımdır. yukarıdaki kod tarayıcıda;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPTADE mesajlar SET yazan='olcay tuncel',eposta='olcay@hotmail.com',mesaj='rwqrq' at line 1
hatasını veriyor fakat mysql_real_escape_string fonksiyonunu şu şekilde kullandığımda;
$guncelle = mysql_real_escape_string(mysql_query("UPTADE mesajlar SET yazan='$adsoyad',eposta='$eposta',mesaj='$mesaj',o nay='$onay' WHERE id='$id'"));
böyle kullandığımda ise sorguyu tamamlıyor fakat veritabanında güncelleme işlemi gerçekleşmiyor. Anlayamadım..
update yardım
9
●465
- 14-09-2013, 16:55:18
- 16-09-2013, 11:18:00orjinal kodlarda birleşik fakat yine aynı hatayı veriyor. yardım edebilecek kimse yok mu?
- 16-09-2013, 13:20:21Kimlik doğrulama veya yönetimden onay bekliyor.Problemin sebebi.
$adsoyad,$eposta,$mesaj vb.. değişkenlerin içerisindeki '(tırnak) karekterinden kaynaklanıyor.Bu nedenle o değişkenleri sorguya sokmadan önce tırnak işaretini escape etmeniz gerekir.
$adsoyad= addslashes($adsoyad);
yada
$adsoyad= str_replace("'","\'",$adsoyad);gibi. - 16-09-2013, 13:51:34Hemen deniyorum çok teşekkür ederim.S4l1h adlı üyeden alıntı: mesajı görüntüle
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:51:34 -->-> Daha önceki mesaj 13:33:02 --
ADDSLASHES VE STR_REPLACE FONKSİYONLARINI SÖYLEDİĞİN GİBİ KULLANMAYA ÇALIŞTIM FAKAT BECEREMEDİM GALİBA KODLARIN TAMAMININ İÇERİSİNDEKİ AÇIKLAMA KISMINDAKİLER SENİN ÖNERDİĞİN ŞEKİLDE HEM ADDSLASHES HEM DE STR_REPLACE OLARAK KULLANDIM FAKAT OLMADI. KODLAR ŞU ŞEKİLDE;S4l1h adlı üyeden alıntı: mesajı görüntüle
<html>
<head>
<title>Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
include("db_connection.php");
$id = @$_GET["id"];
if ($_POST){
$adsoyad = $_POST["adsoyad"];
$eposta = $_POST["eposta"];
$mesaj = $_POST["mesaj"];
$onay = $_POST["onay"];
/*
$adsoyad= str_replace("'","\'",$adsoyad);
$eposta= str_replace("'","\'",$eposta);
$emesaj= str_replace("'","\'",$mesaj);
$onay= str_replace("'","\'",$onay);
$adsoyad = addslashes($adsoyad);
$eposta = addslashes($eposta);
$mesaj = addslashes($mesaj);
$onay = addslashes($onay);
*/
$guncelle = mysql_query(("UPTADE mesajlar SET yazan='$adsoyad',eposta='$eposta',mesaj='$mesaj',o nay='$onay' WHERE id='$id'"));
if ($guncelle){
echo '<font color="red">başarıyla güncellendi</font>';
}else {
echo 'bir sorun oluştu<br />'. mysql_error();
}
}else {
$bul = mysql_query("select * from mesajlar WHERE id='$id'");
$goster = mysql_fetch_array($bul);
extract($goster);
echo '<form action="" method=post>
<table cellpadding="5" cellpadding="5">
<tr>
<td>Ad Soyad</td>
<td><input type="text" name="adsoyad" value="'.$yazan.'" ></td>
</tr>
<tr>
<td>Eposta</td>
<td><input type="text" name="eposta" value="'.$eposta.'" /></td>
</tr>
<tr>
<td>Mesaj</td>
<td><textarea row="10" cols="30" name="mesaj">'.$mesaj.'</textarea></td>
</tr>
<tr>
<td>Onay</td>
<td><select name="onay">
<option value="1"';
if ($onay==1){echo ' selected';}
echo'>Evet</option>
<option value="0"';
if ($onay==0){echo ' selected';} echo '>Hayır</option>
</select></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Güncelle" /></td>
</tr>
</table>
</form>';
}
?>
</body> - 16-09-2013, 14:37:48O c/p yapınca öyle görünüyor normalde birleşik.S4l1h adlı üyeden alıntı: mesajı görüntüle
- 16-09-2013, 14:45:40
<html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head> <body> <?php include("db_connection.php"); // tıknak replace function r($data) { return str_replace("'", "\'", $data); } $id = @$_GET["id"]; if ($_POST) { $adsoyad = $_POST["adsoyad"]; $eposta = $_POST["eposta"]; $mesaj = $_POST["mesaj"]; $onay = $_POST["onay"]; $adsoyad = r($adsoyad); $eposta = r($eposta); $mesaj = r($mesaj); $onay = r($onay); $sorgu = "UPDATE mesajlar SET yazan='$adsoyad', eposta='$eposta', mesaj='$mesaj', onay='$onay' WHERE id='$id'"; $guncelle = mysql_query($sorgu); if ($guncelle) { echo '<font color="red">başarıyla güncellendi</font>'; } else { echo 'bir sorun oluştu<br />' . mysql_error(); } } else { $bul = mysql_query("select * from mesajlar WHERE id='$id'"); $goster = mysql_fetch_array($bul); extract($goster); echo '<form action="" method=post> <table cellpadding="5" cellpadding="5"> <tr> <td>Ad Soyad</td> <td><input type="text" name="adsoyad" value="' . $yazan . '" ></td> </tr> <tr> <td>Eposta</td> <td><input type="text" name="eposta" value="' . $eposta . '" /></td> </tr> <tr> <td>Mesaj</td> <td><textarea row="10" cols="30" name="mesaj">' . $mesaj . '</textarea></td> </tr> <tr> <td>Onay</td> <td><select name="onay"> <option value="1"'; if ($onay == 1) { echo ' selected'; } echo '>Evet</option> <option value="0"'; if ($onay == 0) { echo ' selected'; } echo '>Hayır</option> </select></td> </tr> <tr> <td></td> <td><input type="submit" value="Güncelle" /></td> </tr> </table> </form>'; } ?> </body>update yazımıda hatalıydı yukardaki kodlar büyük ihtimal çalışacaktır.