• 13-07-2016, 09:34:16
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar,

    Aşağıdaki hatayı bir türlü çözemiyorum.
    Bilen arkadaşların yardım etmesini umuyorum.

    Alıntı
    MySQL error in file: /cron.php at line 28
    Error Number: 1064
    The Error returned was:
    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 Webm ' at line 1
    SQL query:

    INSERT INTO translate (aciklama) VALUES('Webm birgün gidiyor's cümle bitiyor.')
    cron.php kodu

    <?php
    @session_start ();
    ini_set('max_execution_time', 0); 
    if (ob_get_level() == 0) ob_start();
    @set_time_limit(0);   
    @error_reporting ( E_ALL ^ E_NOTICE );
    @ini_set ( 'display_errors', true );
    @ini_set ( 'html_errors', false );
    @ini_set ( 'error_reporting', E_ALL ^ E_NOTICE );
    @header('Cache-control: private');
    @header('Content-Type: text/html; charset=utf-8');
    ini_set('default_charset', 'utf-8');
    
    define ( 'Webm', true );
    define ( 'ROOT_DIR', dirname ( __FILE__ ) );
    define ( 'SYSTEM_DIR', ROOT_DIR . '/system' );
    
    require_once SYSTEM_DIR . '/boot.php';
    
    
    
    $video = $db->super_query("SELECT * FROM icerik WHERE status=0 order by RAND() limit 1");
    $video['title'] = _cleantitle($video['content']);
    
    if($config['translate'] == 'aktif'){
    $video['content'] = stripslashes(_translate($video['content'], "tr", "en"));
    }
    $db->query("INSERT INTO translate (aciklama) VALUES('{$video['content']}')");
    $db->query("UPDATE icerik SET status=1 WHERE id='{$video['id']}'");
    
    print_r($video); 
    ?>
    Google Translate kısmı kodu

    <?php
    
    $text = $_POST['text'];
    $source = $_POST['source'];
    $target = $_POST['target'];
    
    include "Unirest.php";
    
    if (!isset($text) || !isset($source) || !isset($target)) {
        echo "Can't translate";
    } else {
        $outText = GoogleTranslate($text, $source, $target);
        echo $outText;
    }
    
    function GoogleTranslate($text, $source, $target) {
        $link = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" . $source . "&tl=" . $target . "&dt=t&q=" . urlencode($text) . "&ie=UTF-8&oe=UTF-8";
    
        $content = Unirest\Request::get($link, null, null);
    
        if ($content->code != "200") {
            return null;
        }
    
        $json = $content->raw_body;
    
        //Xóa dấu ,, thừa.
        while (strpos($json, ",,") != false) {
            $json = str_replace(",,", ",", $json);
        }
    
        $object = json_decode($json);
        $arrTrans = $object[0];
        $trans = "";//Khởi tạo string chứa text đã được translate
    
        for ($i=0; $i<count($arrTrans); $i++) {
            $trans .= $arrTrans[$i][0];
        }
    
        return $trans;
    }
  • 13-07-2016, 10:56:42
    #2
    $db->query("INSERT INTO translate (aciklama) VALUES('{$video['content']}')");

    kısmını

    $db->query("INSERT INTO translate (aciklama) VALUES('" . addslashes( $video['content'] ) . "')");

    şeklinde değiştirmen gerekecek.

    Mysqlde aşağıdaki hatalı sorguyu görmen gerekli. Tek/Çift tırnak mantığını araştır bence.

    INSERT INTO translate (aciklama) VALUES('Webm birgün gidiyor's cümle bitiyor.')
  • 13-07-2016, 11:08:42
    #3
    Hocam çok sağolasın o kodu nereye koyacağımı tam denk getirememiştim.
    Allah razı olsun.

    yvolkan adlı üyeden alıntı: mesajı görüntüle
    $db->query("INSERT INTO translate (aciklama) VALUES('{$video['content']}')");

    kısmını

    $db->query("INSERT INTO translate (aciklama) VALUES('" . addslashes( $video['content'] ) . "')");

    şeklinde değiştirmen gerekecek.

    Mysqlde aşağıdaki hatalı sorguyu görmen gerekli. Tek/Çift tırnak mantığını araştır bence.

    INSERT INTO translate (aciklama) VALUES('Webm birgün gidiyor's cümle bitiyor.')
  • 13-07-2016, 11:14:06
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Evet @yvolkan arkadaşın dediği gibi yaparsan sorunun çözülecektir. Sana verilen hata çıktısı aşağıdaki şekilde zaten ne yapman gerektiğini de söylüyor.

    INSERT INTO translate (aciklama) VALUES('Webm birgün gidiyor's cümle bitiyor.')

    Tırnak içinde yazman gereken yerlerde bu şekilde sıkıntılar olabilir. Mesele tek tırnak çift tırnak meselesi. Örneğin echo "merhaba"; diyerek çift tırnak açıyorsun ve içerisine birtakım bir şeyler yazıyorsun bu çift tırnağın içerisine tekrar çift tırnak açamazsın echo "merhaba "ali" "; şeklinde yapamazsın echo 'merhaba "ali" '; şeklinde kullanman gerekir.