Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 本应返回整数的查询正在返回布尔值_Php_Mysql - Fatal编程技术网

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结果