php找错大侠帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/09 03:39:59
<?php
include('../www/conn.php');
include('../www/smarty_con.php');
extract($_POST);
$text = trim($text);
if(empty($text))
{
echo '不能为空';
exit;

}
$myquery = mysql_query("SELECT select_name FROM `select_name`");
$num = mysql_num_rows($myquery);
if($num>0)
{
while ($result = mysql_fetch_array($myquery))
{
$array = $result['select_name'];
print_r($array);
}
if(in_array($text,$array))
{
echo '分类名不能相同';
exit;
}
}
$query = mysql_query("INSERT INTO `select_name` VALUES('','$text')");
$smarty->display('admin/update.html');

?>
第20行错误
Warning: in_array() [function.in-array]: Wrong datatype for second argument in D:\PHPnow\htdocs\school\admin\add_category.php on line 21
说是第2个参数不对,我输出了也是数组啊

你这样$array最后循环后应该是等于最后一个$result['select_name']的值,它应该是一个字符串吧。你把$array = $result['select_name']; 改为$array[] = $result['select_name'];,并且在循环体开始前加上$array =array();
打印出来测试$array应该是在循环后测试才行,最后推荐你一个var_dump函数,用于测试变量很方便的,在Eclipse或者zend下debug模式下还可以跟踪变量,比自己测试好

建议把错误提示贴出来,不然大家很难看出来的

echo '<pre>';

var_dump($result);

print_r($result);

echo '</pre>';