Php 本应返回整数的查询正在返回布尔值
我正在尝试运行此查询:Php 本应返回整数的查询正在返回布尔值,php,mysql,Php,Mysql,我正在尝试运行此查询: $query="SELECT max(templateid) FROM vtiger_emakertemplates"; $sql_result = mysql_query($query); 它显示的错误是: 警告:mysql_fetch_array()要求参数1为资源,给定布尔值 它应该给我一个整数值,但它返回的是布尔值。 列templateid仅包含整数值。我不明白布尔值是从哪里来的。有什么想法吗 这是完整的代码 $conncity=mysql_connec
$query="SELECT max(templateid) FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
它显示的错误是:
警告:mysql_fetch_array()要求参数1为资源,给定布尔值
它应该给我一个整数值,但它返回的是布尔值。
列templateid
仅包含整数值。我不明白布尔值是从哪里来的。有什么想法吗
这是完整的代码
$conncity=mysql_connect($dbconfig['db_hostname'],$dbconfig['db_username'],$dbconfig['db_password']);
mysql_select_db($dbconfig['db_name'],$conncity);
$query="SELECT max(templateid) FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
$id=mysql_fetch_array($sql_result);
这可能是由于$sql\u查询返回false造成的。
在对其应用mysql\u fetch\u数组之前,您应该检查$sql\u结果值。这可能是因为$sql\u查询返回false。 在应用mysql\u fetch\u数组之前,应该检查$sql\u结果值。Replace
$sql\u result=mysql\u query($query)代码>
与
$sql\u result=mysql\u query($query)或die(mysql\u error())代码>
它将告诉您在查询中哪里出错。替换
$sql\u result=mysql\u query($query)代码>
与
$sql\u result=mysql\u query($query)或die(mysql\u error())代码>
它会告诉您在查询中哪里出错。假设您正在执行以下操作:
mysql_fetch_array($sql_result)
该错误意味着$sql\u result
是一个布尔值,可能是false
。这意味着mysql\u查询($query)
返回false,因此您的查询失败
使用mysql\u error()
检查错误,查看给出的错误。假设您正在执行以下操作:
mysql_fetch_array($sql_result)
该错误意味着$sql\u result
是一个布尔值,可能是false
。这意味着mysql\u查询($query)
返回false,因此您的查询失败
使用mysql\u error()
检查错误以查看给出的错误。像这样更改查询
$query = "SELECT MAX(templateid) as MaxID FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
$row = mysql_fetch_array($sql_result);
echo $row['MaxID'];
然后像这样获取值
$query = "SELECT MAX(templateid) as MaxID FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
$row = mysql_fetch_array($sql_result);
echo $row['MaxID'];
像这样更改您的查询
$query = "SELECT MAX(templateid) as MaxID FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
$row = mysql_fetch_array($sql_result);
echo $row['MaxID'];
然后像这样获取值
$query = "SELECT MAX(templateid) as MaxID FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
$row = mysql_fetch_array($sql_result);
echo $row['MaxID'];
在获取数组之前,应该验证是否收到了良好的结果
$query="SELECT max(templateid) as MaxID FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
if ($sql_result) {
$id=mysql_fetch_array($sql_result);
$maxID = $id[MaxID];
} else $maxID = false;
if (!$maxID) {
print "There are no templateid's in vtiger_emakertemplates.\n";
}
另外,当我调试PHP/MySQL应用程序时,我发现使用phpMyAdmin或其他应用程序直接在MySQL数据库中测试我的查询很有帮助,因为它会立即提供查询语法错误,并允许我快速进行更改以找到正确的查询语法。在获取数组之前,您应该验证是否收到了良好的结果
$query="SELECT max(templateid) as MaxID FROM vtiger_emakertemplates";
$sql_result = mysql_query($query);
if ($sql_result) {
$id=mysql_fetch_array($sql_result);
$maxID = $id[MaxID];
} else $maxID = false;
if (!$maxID) {
print "There are no templateid's in vtiger_emakertemplates.\n";
}
此外,在调试PHP/MySQL应用程序时,我发现使用phpMyAdmin或其他应用程序直接在MySQL数据库中测试查询很有帮助,因为它会立即提供查询语法错误,并允许我快速进行更改以找到正确的查询语法。错误在您尚未发布的代码中。请发布您如何使用$sql\u result
错误在您尚未发布的代码中。请发布如何使用$sql\u结果