PHP MySQL Tablo oluştururken tablo adını değişken atama

Kodla Büyü

sturkmen

Seçkin Üye
Seçkin Üye
Mesajlar
534
PHP-MySQL de üye kaydederken her üye için bir tablo açmak istiyorum.

mysql_query( CREATE TABLE tablo_adi............. )

tablo adı kısmına '$uye_no' şeklinde değişkenden gelen değeri her üye için ayrı tablo oluşturmak istiyorum
ama olmuyor
yani tablo adını değişkenden gelen değeri eklemek istiyorum.
nasıl yapacağım yardım
 
Kod:
mysql_query( 'CREATE TABLE tablo_' . $uye_no . '  .............' )

şeklinde yazmayı deneyin. Nokta işaretlerinin sağında ve solunda mutlaka bir boşluk olsun.
 
Tablo oluşturma yetkinizin olduğuna emin misiniz? Bir de veritabanı tablosu isimleri yanlış hatırlamıyorsam direk numara ile başlamıyordu. $uye_no sayısal olduğu için hata alıyor olmasınız. Başına önek ekleyip deneyin.

(CREATE table uye_".$uye_no) gibi...
 
Ayrıca her üye için veri tabanı tablosu oluşturmak pek mantıklı bir yöntem değil. İlişkili tablolar kullanmak yerine neden böyle bir şeyi tercih ettiniz ki?
 
her üye için açarsan. o veritabanından hayır gelmez. her üyeye vereceğin numara ile ilişkili tablo oluşturmalısın. Bu işin raconu bu.
 
datased' Alıntı:
her üye için açarsan. o veritabanından hayır gelmez. her üyeye vereceğin numara ile ilişkili tablo oluşturmalısın. Bu işin raconu bu.

:+1: evet hocam veri tabanı şişer kalır üye sayın çok fazla olursa....
 
Teşşekkürler galiba rakamla başlamadığı için oldu
o an düşünemedim...

bir sorum daha olacak
$sorgu=mysql_query("SELECT * FROM tablo_adi WHERE id='kitap_no'");
while ($kayit=mysql_fetch_array($sorgu)){

$degisken1=$kayit['kitap_ad'];
}

bu sorguda tablo_adi adlı tabloda kitap_no adında id yoksa bu kayıtta kitap yok yazdırmak istiyorum

Ama
kitap_no olmayan bir veri girdiğimde hep hata veriyor tanımsız değişken diyor

veri yoksa $degisken1 e ne atıyor anlamadım yardım

biraz karışık oldu ama siz anladınız herhalde
 
sturkmen' Alıntı:
Teşşekkürler galiba rakamla başlamadığı için oldu
o an düşünemedim...

bir sorum daha olacak
$sorgu=mysql_query("SELECT * FROM tablo_adi WHERE id='kitap_no'");
while ($kayit=mysql_fetch_array($sorgu)){

$degisken1=$kayit['kitap_ad'];
}

bu sorguda tablo_adi adlı tabloda kitap_no adında id yoksa bu kayıtta kitap yok yazdırmak istiyorum

Ama
kitap_no olmayan bir veri girdiğimde hep hata veriyor tanımsız değişken diyor

veri yoksa $degisken1 e ne atıyor anlamadım yardım

biraz karışık oldu ama siz anladınız herhalde

Anladığım kadarıyla cevap vereyim. $kitap_no değişkeni tanımlı değilse hata almamak istiyorsunuz (ki sql injection açığı da oluşturur bu).
Kod:
$kitap_no=(int)$_GET['kitap_no'];  giriş ne olursa olsun sadece sayısal kısmı alır, sayısal kısım yoksa 0 olur
if ($kitap_no==0)
{
     // Burada kitap no belirtilmemiştir diye uyarı verirsiniz istediğiniz gibi
}
else
{ 
   // Burada da kitap no kesinlikle belirtilmiş oluyor
   $sorgu=mysql_query("SELECT * FROM tablo_adi WHERE id='$kitap_no'");
   if (mysql_num_rows($sorgu)>0)
  {   // burada mutlaka sonuç olduğu zaman çalışacaktır
      while ($kayit=mysql_fetch_array($sorgu)){
         $degisken1=$kayit['kitap_ad'];
      }
   }
   else
  {
     // burada belirtilen kitap numarasına ait kayıt olmadığı uyarısı verirsiniz.
  }
}
 
BBNET
Geri
Üst