lostyazilim
tr.link

Php PDO CREATE TABLE Sorunum

4 Mesajlar 702 Okunma
lstbozum
tr.link

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Merhaba arkadaşlar,
Ben pdo ile bir tablo oluşturmak istiyorum. Şimdi kurduğum mantık biraz karışık anlatmak zaman alır direk kodları veriyorum zaten olayı çözersiniz.



$surveyname = $_GET['surveyname'];
$questioncount = $_GET['questioncount'];

$query = "CREATE TABLE database.".$surveyname."(
ID INT(11) AUTO_INCREMENT PRIMARY KEY,";

for ($i=0; $i < $questioncount; $i++) {
if ($i == $questioncount) {
$query += " question".$i." VARCHAR(1) NOT NULL);";
}
else{
$query += " question".$i." VARCHAR(1) NOT NULL,";
}
}


try {
$db->exec($query);
exit('1');
}
catch(PDOException $e) {
echo $e->getMessage();
}



Asıl soruna gelince kodlar çalışıyor ve ekrana 1 basıyor bir sorun yok gibi görünüyor fakat veritabanına tabloyu oluşturmuyor. Ne bir log dönüyor ne bir şey. Tıkanıp kaldım ne yapacağımı bilmiyorum. Nasıl çözebilirim bu olayı? Sorun nedir nerede yanlış yapıyorum?

Php de yeni sayılırım biraz amatörlük var maruz görünüz.
 

 

sefacandemir.com.tr
wmaraci
reklam

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
Doğru kodlaması ;

$surveyname = $_GET['surveyname'];
$questioncount = $_GET['questioncount'];
$query = "CREATE TABLE database_{$surveyname} (id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,";

for ($i=0; $i < $questioncount; $i++) {
if (($i+1) == $questioncount) {
$query .= " question{$i} VARCHAR(30) NOT NULL)";
}
else{
$query .= " question{$i} VARCHAR(30) NOT NULL,";
}
}

try {
$db->exec($query);
}
catch(PDOException $e) {
echo $e->getMessage();
}


Pek bir şey değiştirmedim açıkcası, += değil, .= olacaktı, database. yapmışsınız noktayı "_" olarak değiştirdim kontrol ettiğim zaman bir sorun çıkmadı :rolleyes:
SefaCanDemir

kişi bu mesajı beğendi.

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
edcsmile
Hocam öncellikle çok teşekkür ederim. Dışarıdaydım cevabınızı gördüm fakat yazamadım anca müsait olabiliyorum. Php ye yeni başladım .net ten geçince syntax da biraz sorun yaşayabiliyorum. Amatörce bir şeyler yapmaya öğrenmeye çalışıyoruz işte. Düzenlediğiniz ve bazı konularda bilgilendirdiğiniz için tekrar teşekkür ederim.

Bu arada database. olan kısmı SQL de tabloyu oluşturacağı database i belirlemek için kullanıyoruz genelde. Ben database ismi yerine örnek olarak oraya database yazdım. O yüzden nokta koymuştum. Ama tabi bunada gerek yokmuş öğrendim çünkü config de zaten database i seçmiştim.

String bir değer içine {degişken} şeklinde değişkendeki veriyi çağırabildiğimizi bilmiyordum öğrendiğim iyi oldu sağolun :)
 

 

sefacandemir.com.tr

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
SefaCanDemir

Rica ederim her zaman :) Kolay gelsin
 

 

wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al