folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Mysql Sorgusu Devamlı Error Çıktısı Veriyor



Mysql Sorgusu Devamlı Error Çıktısı Veriyor

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    kendim bir değişkenin içine mysql sorgusu yazdırıyorum, sonra da bunu mysql_query ile çalıştırıyorum ama devamlı syntax hatası veriyor ( 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 'ALTER TABLE `custom` ADD `1` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NO' at line 2)

    CREATE TABLE `custom` (`id` INT(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
    ALTER TABLE `custom` ADD `1` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ilki';
    ALTER TABLE `custom` ADD `2` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ikincisi';
    ALTER TABLE `custom` ADD `3` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'üçüncüsü';
    ALTER TABLE `custom` ADD `4` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'dördüncüsü';
    ALTER TABLE `custom` ADD `5` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'beşincisi';

    değişkenin içine yazdırdığım sorgu yaklaşık olarak böyle oluyor. ben bunu phpmyadminden direk yazdığımda sorun çıkmıyor ama php kodları içinde mysql_query ile çalıştırırsam en üstteki hatayı alıyorum. wamp'ta (windows) çalıştığımdan mıdır nedir çözemedim, yardımcı olursanız sevinirim.

    . . .. . ... .
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Realist
    Realist's avatar
    Kayıt Tarihi: 13/Nisan/2007
    Erkek

    niye sorgu içinde yapıyosun phpmyadminle yapsana hacı sıkıntı yokmuş işte anlamadım ne yaptığını :D


    ..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    tek sefer sorgu yapmasan tek tek query de çalıştırsan? çünki phpmyadmin ; den sonrasını ayrı sorgu olarak çalıştırıyo sen tek seferde hepsini koyunca ayıramıyo o yüzden hata veriyordur büyük ihtimalle

    edit : illa manyağım ben tek query de yapıcam diyosan sql şeysinin en başına DELIMITER ;; ekle


    Bittik biz bittik
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    hoca başını salla da kodu kullanıcıdan aldığım bilgilerle otomatik olarak oluşturuyorum:

    $sql = "CREATE TABLE `".$table."` (`id` INT(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;\n";
    for($i=1; $i<=$many; $i++) {
    $sql.= "ALTER TABLE `".$table."` ADD `".$i."` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '".$_POST["variable".$i]."';\n";
    }

    basit olarak böyle birşey var en son değişkenin içini doldurması için.


    . . .. . ... .
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Buremba bunu yazdı:
    -----------------------------

    hoca başını salla da kodu kullanıcıdan aldığım bilgilerle otomatik olarak oluşturuyorum:

    $sql = "CREATE TABLE `".$table."` (`id` INT(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;\n";
    for($i=1; $i<=$many; $i++) {
    $sql.= "ALTER TABLE `".$table."` ADD `".$i."` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '".$_POST["variable".$i]."';\n";
    }

    basit olarak böyle birşey var en son değişkenin içini doldurması için.


    -----------------------------

    dediğim gibi create tableden önce delimiter ekle yada ilk mysql_query de create tableyi döndür sonrada for içinde mysql_query döndür tek tek eklensin hepsi ?


    Bittik biz bittik
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    Cosmic bunu yazdı:
    -----------------------------

    Buremba bunu yazdı:
    -----------------------------

    hoca başını salla da kodu kullanıcıdan aldığım bilgilerle otomatik olarak oluşturuyorum:

    $sql = "CREATE TABLE `".$table."` (`id` INT(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;\n";
    for($i=1; $i<=$many; $i++) {
    $sql.= "ALTER TABLE `".$table."` ADD `".$i."` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '".$_POST["variable".$i]."';\n";
    }

    basit olarak böyle birşey var en son değişkenin içini doldurması için.


    -----------------------------

    dediğim gibi create tableden önce delimiter ekle yada ilk mysql_query de create tableyi döndür sonrada for içinde mysql_query döndür tek tek eklensin hepsi ?


    -----------------------------

    cosmic hocam her konumun altına hızır gibi yetişiyorsun valla. :) dediğin gibi ayrı ayrı çalıştırdım ama alter table'ların hepsinde hata verdi aynısından. oluşturduğum kod yukarda çıktısını da konunun başında yazdım hata nerde anlamadım valla. bu arada delimiter'in kullanımını anlamadım, kodun en üstüne yazdım ama hata verdi internette de senin verdiğin şekilde bir kullanım görmedim.


    . . .. . ... .
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    en son halini yollayabilirmisin bi?

    edit:

     

    $_POST kısmı bozmuş olayını onu dışarda bi değişkenle çek o değişkeni post yerine sok "" lar bozmuş


    Bittik biz bittik
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sokoban
    sokoban's avatar
    Kayıt Tarihi: 23/Ocak/2010
    Erkek

    beşinci falan diyon ya türkçe karakterden dolayı olabilir mi ?


    .
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    if(isset($_POST["many"])) {
    $many = $_POST["many"];
    $manyy = $many+1;
    $name = $_POST["name"];
    
    $table='custom';
    $i=1;
    $sql = mysql_query("show tables like '".$table."';");
    $exist = mysql_num_rows($sql);
    while($exist > 0) {
    $table = 'custom'.$i; $i=$i+1;
    $sql = mysql_query("show tables like '".$table."';");
    $exist = mysql_num_rows($sql);
    } 
    
    $sql = "CREATE TABLE `".$table."` (`id` INT(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;\n";
    $create = mysql_query($sql);
    if (!$create) {$ic.="yapma be\n"; $ic.=mysql_error();}
    for($i=1; $i<=$many; $i++) {
    $veri = $_POST["variable".$i];
    $sql.= "ALTER TABLE `".$table."` ADD `".$i."` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '".$veri."';";
    $create = mysql_query($sql);
    if (!$create) {$ic.="yapma be\n"; $ic.=mysql_error();}
    }
    hocam o postlu kısmı komple kaldırsam dahi hata vermeye devam ediyor. $table değişkeni ne işe yarıyor diye sorarsan kontrol ettiriyorum custom tablosu varsa custom1 custom2 olmayana kadar bakıyor.


    . . .. . ... .
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    $sql.= "ALTER TABLE `".$table."` ADD `".$i."` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '".$veri."';"

     

    $create = mysql_query($sql);

    böyle yapmışsın ama $sql. noktayı kaldır(21. satır) heer seferinde $sqla ekleme yapıyo içeriğine bütün alterlar dönüyo yine


    Bittik biz bittik
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    xzxz
    xzxz's avatar
    Kayıt Tarihi: 21/Haziran/2003
    Erkek

    @Buremba 

     

    haydar abi bırak bu hatun ayaklarını artık 


    herşeyin bir şeyi vardır
Toplam Hit: 2111 Toplam Mesaj: 13