2012-10-13 33 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的注入攻击