• 28-04-2014, 10:10:37
    #1
    Kurumsal Üye | R10 19.YIL
    Arkadaşlar bu nedir düzeltemedim nerede hata yapmışım ?

    Alınan hata
    Alıntı
    Fatal error: 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 's standard dummy text ever since the 1500s, when an unknown printer took a galle' at line 1 in /home/xxx.com/httpdocs/yonetim/plugin/dk_save.php on line 58

    dk_save.php kodlar

    <?php
    
    function temizle($url)
    {
    $url = trim($url);
    $find = array('<b>', '</b>');
    $url = str_replace ($find, '', $url);
    $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
    $find = array(' ', '&amp;quot;', '&amp;amp;', '&amp;', '\r\n', '\n', '/', '\\', '+', '<', '>');
    $url = str_replace ($find, '-', $url);
    $find = array('.','..', '...');
    $url = str_replace ($find, '', $url);
    $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
    $url = str_replace ($find, 'e', $url);
    $find = array('í', 'ý', 'ì', 'î', 'ï', 'I', 'Ý', 'Í', 'Ì', 'Î', 'Ï','İ','ı');
    $url = str_replace ($find, 'i', $url);
    $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
    $url = str_replace ($find, 'o', $url);
    $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
    $url = str_replace ($find, 'a', $url);
    $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
    $url = str_replace ($find, 'u', $url);
    $find = array('ç', 'Ç');
    $url = str_replace ($find, 'c', $url);
    $find = array('þ', 'Þ','ş','Ş');
    $url = str_replace ($find, 's', $url);
    $find = array('ð', 'Ð','ğ','Ğ');
    $url = str_replace ($find, 'g', $url);
    $find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
    $url = str_replace ('--', '-', $url);
    $url = strtolower($url);
    return $url;
    }
    
    if(isset($_POST['gonder'])){
    
    $resimyolu = $_POST['resimyolu'];
    $doktor = $_POST['doktor'];
    $unvan = $_POST['unvan'];
    $hastane = $_POST['hastane'];
    $ozgecmis = $_POST['ozgecmis'];
    $egitim = $_POST['egitim'];
    $ilgi = $_POST['ilgi'];
    $yayin = $_POST['yayin'];
    $iletisim = $_POST['iletisim'];
    
    if($resimyolu==""||$doktor==""||$unvan==""||$hastane==""||$ozgecmis==""||$egitim==""||$ilgi==""||$yayin==""||$iletisim==""){
    
    echo '<div class="error msg" style="width:300px;"><b>Alanları boş geçemezsiniz!</b></div>'; }else{
    
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET utf8");
    mysql_query("SET COLLATION_CONNECTION = 'utf8_bin'");
    $mysql="UPDATE m_kadroicerik SET resimyolu='$resimyolu',doktor='$doktor',unvan='$unvan',hastane='$hastane',ozgecmis='$ozgecmis',egitim='$egitim',ilgi='$ilgi',yayin='$yayin',iletisim='$iletisim' where id='$id'";
    
    $sorgu12 = mysql_query($mysql) or trigger_error(mysql_error(),E_USER_ERROR);
    
     echo "    <div class='done msg' style='width:200px;'>
            <b>Yazı Kaydedildi!</b>
                </div>";
    } }
    ?>
  • 28-04-2014, 10:21:48
    #2
    Sanırım hata $mysql değişkeninde..

    $mysql="UPDATE m_kadroicerik SET resimyolu='$resimyolu',doktor='$doktor',unvan='$un van',hastane='$hastane',ozgecmis='$ozgecmis',egiti m='$egitim',ilgi='$ilgi',yayin='$yayin',iletisim=' $iletisim' where id='$id'";

    $id diye bir değişken olmadıığı için hata vermekte muhtemelen.! sorgu da veritabanında ki id ile gelen id yi sorgulamışsınız ama kodlarınız arasında gelen id yok.

    umarım doğru yanıt olmuştur
  • 28-04-2014, 10:22:32
    #3
    Üyeliği durduruldu
    post'ları mysql_escape_string ile temizletip denermisin ? karakterler'den kaynaklanıyor gibi.
  • 28-04-2014, 14:16:02
    #4
    mysql stringini escape et.

    $mysql= mysql_real_escape_string("UPDATE m_kadroicerik SET resimyolu='$resimyolu',doktor='$doktor',unvan='$un van',hastane='$hastane',ozgecmis='$ozgecmis',egiti m='$egitim',ilgi='$ilgi',yayin='$yayin',iletisim=' $iletisim' where id='$id'");

    Mysql sorgun text içindeki tırnak işaretleri yüzünden hata veriyor gibi...