在同一个表中添加行时获取表内容时出现问题

时间:2010-04-02 11:06:08

标签: php mysql

我正在尝试编写一个添加类别的函数:

function addCategory() {
$cname   = mysql_fix_string($_POST['cname']);
$kabst   = mysql_fix_string($_POST['kabst']);
$kselect = $_POST['kselect'];
$kradio  = $_POST['kradio'];
$ksubmit = $_POST['ksubmit'];
$id         = $_POST['id'];
if($ksubmit){
  $query = "INSERT INTO category  VALUES (' ', '{$cname}', '{$kabst}', {$kselect},    {$kradio}, ' ') "; 
  $result = mysql_query($query);
  if ($result) {
    echo "ok";
  }
  else{
   echo $query ;
 }
}
 $text .= '<div class="form">
        <h2>ADD new category</h2>
         <form action="?page=addCategory" method="post">
             <ul>
                 <li><label>Category</label></li>
                 <li><input name="cname" type="text" class="inp" /></li>
                 <li><label>Description</label></li>
                 <li><textarea name="kabst" cols="40" rows="10" class="inx"></textarea></li>
                 <li>Published:</li>
                 <li>
                   <select name="kselect"  class="ins">
                     <option value="1">Active</option>
                     <option value="0">Passive</option>

                   </select>
                 </li>
                     <li>Show in home page:</li> 
                     <li>
                      <input type="radio" name="kradio" value="1" /> yes
                      <input type="radio" name="kradio" value="0" /> no
                     </li>
                 <li>Subcategory of</li>
                 <li>
                  <select>';
                    while ($row = mysql_fetch_assoc(mysql_query("SELECT * FROM category"))){
                    $text .= '<option>'.$row['name'].'</option>';
                    }
                    $text .= '</select>
                    </li>
                    <li><input name="ksubmit" type="submit"  value="ekle" class="int"/></li>
                </ul>
            </form>
';

return $text;}

错误:

Fatal error: Maximum execution time of 30 seconds exceeded

我的功能出了什么问题?

1 个答案:

答案 0 :(得分:0)

您继续重新执行查询并获取第一行,创建无限循环(并且∞秒> 30秒)。试试这个:

$result = mysql_query("SELECT * FROM category");
while ($row = mysql_fetch_assoc($result)){