2012-10-02 33 views
0
$sql=mysql_query("select * from dosyabegeni where veri_id=''.get_custom_field('dwcode').''"); 

我想向下面的PHP代碼:如何在代碼中添加MySQL代碼?

<?php get_custom_field('dwcode'); ?> 

...怎麼了?

=''.get_custom_field('dwcode').''"); 

主要代碼:

<?php 
include('/home/test/public_html/EntegreOz/DosyaBegeni/config.php'); 
$sql=mysql_query("select * from dosyabegeni where veri_id=".get_custom_field('dwcode').""); 


while($row=mysql_fetch_array($sql)) 
{ 

$sira_id=$row['sira_id']; 
$veri_id=$row['veri_id']; 
    $begeni=$row['begeni']; 

?> 

謝謝!

我知道..我不能告訴更多的,對不起的英語

+2

請不要使用'mysql_ *'函數來編寫新的代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。請參閱* [紅盒子](http://goo.gl/GPmFd)*?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –

+0

請**使用'mysql_query'來停止**,就像你在這裏一樣。你會陷入嚴重的麻煩。這段代碼有一個嚴重的[SQL注入漏洞](http://bobby-tables.com/php),可以[自動利用](http://sqlmap.org/)。 – tadman

回答

-2

不正確的引用:

$sql= ... snip ... where veri_id=" .get_custom_field('dwcode'). "); 
            ^-- remove ''     ^--remove '' 

'不會 「退出」 一" -quoted字符串。

0

你有太多的單引號('):

$sql=mysql_query("select * from dosyabegeni where veri_id='".get_custom_field('dwcode')."'"); 

但是,請不要使用mysql_*功能編寫新的代碼。他們不再維護,社區已經開始deprecation process。請參閱red box?相反,您應該瞭解prepared statements並使用PDOMySQLi。如果你不能決定哪個,this article會幫助你。如果你選擇PDO,here is good tutorial

+0

@SerialDownvoter,小心解釋一下? –

+0

如果你知道PDO和'mysqli',那麼你應該知道比在一個非轉義的值中擁塞更好。你得到的代碼工作只會使這個巨大的利用現在功能。 – tadman

+0

@tadman:因此警告。我已經停止了很久以前通過引入準備好的陳述來處理轉義。我已經警告OP關於函數棄用兩次。如果這還不夠,那就是SQL注入。 –