2011-03-01 22 views
9

php değişkeninde mysql sonucunu saklamanın bir yolu var mı? Teşekkürlermysql sorgu sonucu php değişkeni

Ardından, seçilen userid'yi sorgudan yazdırmak istiyorum.

+5

Biz kullandığınız ne veritabanı sarıcı bilmiyorum ama hangisi biri, kılavuzu, bunun çok ama çok temel şey için bir örnek olması garanti edilir. Kaba olmak istemedim, ama bu yolu almak burada gerçekten tercih edilir. Kapatmak için oylama. –

+0

MySql kullanıyorum. –

cevap

46

Elbette var. MySQL kullanırsanız mysql_query ve mysql_fetch_row'a bakın. PHP manual den
Örnek:

içine bakmak gerekir MySQL fonksiyonları bir çift vardır
<?php 
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'"); 
if (!$result) { 
    echo 'Could not run query: ' . mysql_error(); 
    exit; 
} 
$row = mysql_fetch_row($result); 

echo $row[0]; // 42 
echo $row[1]; // the email value 
?> 
+0

Neden bu durum reddedildi? –

+2

@serialdownvoter Eğer bir şey doğru değilse, hem bilgimizi daha iyi hale getirmek için hem de neden daha iyi yardımcı olacağımızı açıklayın. –

+0

@hellodownvoter kimsiniz? –

2
$query="SELECT * FROM contacts"; 
$result=mysql_query($query); 
+1

Burada da reddederseniz, lütfen nedenini açıklayın. – mailo

+0

Sanırım soruyu yanlış anladınız: no_freedom, sorgunun gerçekte çalışmasına gerek kalmadan sorgu değerini saklamak için bir yol istedi. –

5

.

  • mysql_query ("burada sorgu dizisi") alınır bir satır ve (anahtar olarak kolon adıyla) sayısal ve birleştirici ile bir dizi olarak döndürür: bir kaynak
  • mysql_fetch_array (kaynak, yukarıda elde edilmiş) döndürür endeksleri. Genellikle, ifade, ifade false değerine dönüşene kadar sonuçlarda yinelemeniz gerekir. Aşağıdaki gibi:

    while ($row = mysql_fetch_array($query)){ 
        print_r $row; 
    }

    kılavuzuna başvurun, aşağıda verilmiştir bağlantıları, bunlar dizi talep edildiği biçimi belirtmek için daha fazla seçenek var. Örneğin, ilişkisel bir dizi içinde satır almak için mysql_fetch_assoc(..) kullanabilirsiniz.

Bağlantılar:

Senin durumunda

,

$query = "SELECT username,userid FROM user WHERE username = 'admin' "; 
$result=mysql_query($query); 
if (!$result){ 
    die("BAD!"); 
} 
if (mysql_num_rows($result)==1){ 
    $row = mysql_fetch_array($result); 
    echo "user Id: " . $row['userid']; 
} 
else{ 
    echo "not found!"; 
} 
-1

Ben şahsen hazır deyimleri kullanın.

Neden önemlidir? Güvenlik nedeniyle önemlidir. Sorgudaki değişkenleri kullanan bir kişiye SQL enjeksiyonu yapmak çok kolaydır.

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php MySQLi

:

$query = "SELECT username,userid FROM user WHERE username = 'admin' "; 
$result=$conn->query($query); 

Bu

$stmt = $this->db->query("SELECT * FROM users WHERE username = ? AND password = ?"); 
$stmt->bind_param("ss", $username, $password); //You need the variables to do something as well. 
$stmt->execute(); 

üzerine hazırlanmış tablolara hakkında daha fazla bilgi kullanmalıdır: Yerine bu kodu kullanarak

http://php.net/manual/en/pdo.prepared-statements.php PDO

-1
$query = "SELECT username, userid FROM user WHERE username = 'admin' "; 
$result = $conn->query($query); 

if (!$result) { 
    echo 'Could not run query: ' . mysql_error(); 
    exit; 
} 

$arrayResult = mysql_fetch_array($result); 

//Now you can access $arrayResult like this 

$arrayResult['userid']; // output will be userid which will be in database 
$arrayResult['username']; // output will be admin 

//Note- userid and username will be column name of user table.