2012-10-13 67 views
0

PHP這裏新手如果發現場沒有什麼,創造新的領域

我有所謂的「主題」一個MySQL表,我從表從表單中提取信息,基於結果的頁面(通過GET)

的URL如果URL不存在,我希望能夠爲表創建一個從充滿

的URL與主題名稱的新條目$ TOPIC_NAME會我今天準備在新topicname現場把

到目前爲止我的代碼:

  $topic_name = strtolower(mysql_real_escape_string($_GET['t'])); 

//look for info 
$topic_info = mysql_query("SELECT * FROM topics WHERE topicname = '$topic_name' LIMIT 1"); 

if (mysql_numrows($topic_info)<=0) { 
//insert record 
$SQL='insert into topics (topicname) values ("'.$topic_name.'")'; 
mysql_query($SQL); 
$t_desc='NEW TOPIC : '.$topic_name; 
} 
else { 
//do as normal (without unnessecary loop) 
$g=mysql_fetch_array($topic_info); 

$t_desc = $g['desc'];    
}  

編輯:對不起,我不認爲我解釋好,結果是從形式的GET,所以url.com/topic?=BLAH

嗒嗒會的名稱如果它不存在,我想創建它。

表有一個自動遞增的 'ID'(主鍵)

+0

對不起,我不認爲我解釋好,將R esult是從形式的GET,所以url.com/topic?=BLAH 等等會我會想創建,如果它不存在,該字段的名稱。 表中有一個自動遞增'ID'(主鍵) – mobile

+0

可能會引起誤解。你想用新字段來改變表格還是想在表格中不存在主題的情況下再添加一行? – GBD

+0

如果主題不存在,我想基本上創建它,然後再講話題檢索信息 – mobile

回答

2

如果我理解你糾正:

$topic_name = (isset($_GET['t'])) ? strtolower(mysql_real_escape_string($_GET['t'])) : ''; 

//look for info 
$topic_info = mysql_query("SELECT * FROM topics WHERE topicname = '$topic_name' LIMIT 1"); 

if (mysql_num_rows($topic_info)<=0) { 
    //insert record 
    //UPDATE 
    //$SQL='insert into topics (topicname) values ("'.$topic_name.'")'; 
    $SQL='insert into topics (topicname, `desc`) values '. 
      '("'.$topic_name.'", "NEW TOPIC DESC")'; 
    mysql_query($SQL); 
    $t_desc='NEW TOPIC : '.$topic_name; 
} else { 
    //do as normal (without unnessecary loop) 
    $g=mysql_fetch_array($topic_info); 
    $t_desc = $g['desc'];    
} 
+0

這似乎是工作和創造,雖然當我去重新審視URL,東東是空白的,我已經更新了原始代碼 – mobile

+0

您可能還需要檢查提交時$ _GET參數是否爲空。否則你會冒插入空值的風險。除非表格不接受空白字段。 – Awemo

+0

是的,字段desc是空白的。查看更新 – davidkonrad

0

嘗試如下

$topic_info = mysql_query("SELECT * FROM topics WHERE topicname = '$topic_name' LIMIT 1"); 

$count = mysql_num_rows($topic_info); 

if($count <= 0){ 
    // do insert query 
} 
else { 
// loop through you result and display record 
    while($g = mysql_fetch_array($topic_info)){ 
    $t_desc = $g['desc'];    
    } 
} 

注:最好使用PDO或mysqli的lib中的新發展,防止MySQL的注入攻擊