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

blah 将是我想要创建的字段的名称(如果它不存在)。

该表有一个自动递增的“ID”(主键)

4

2 回答 2

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'];               
} 
于 2012-10-13T09:51:43.777 回答
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注入攻击

于 2012-10-13T09:44:56.937 回答