我的PHP函数没有返回任何值

时间:2016-12-13 11:20:01

标签: php mysql

function GetID($newsTitle){

  mysql_select_db($database_dbConnection, $dbConnection);
  $query_rsGetId = sprintf("SELECT id FROM news WHERE title = %s", GetSQLValueString($newsTitle, "text"));
  $rsGetId = mysql_query($query_rsGetId, $dbConnection) or die(mysql_error());
  $row_rsGetId = mysql_fetch_assoc($rsGetId);
  $totalRows_rsGetId = mysql_num_rows($rsGetId);

  return $row_rsGetId['id'];

}

上面的代码将在传递字符串变量时检索ID,并且一旦在数据库中匹配,它将返回该String的ID,但是当前它没有返回任何内容。

由于

1 个答案:

答案 0 :(得分:3)

总结我在评论中所说的一切,或多或少地解决了这个问题。您的代码存在一些漏洞,您需要修复它们才能使它们正常工作:

  1. 请拜托,请不要使用mysql_*函数。它们是deprecated in PHP 5.5并在PHP 7中删除。(最新版本的PHP是7.1)。

  2. 全局范围?变量database_dbConnection$dbConnection未在函数内定义。如果您在全球范围内使用它们,请使用:

    global database_dbConnection;
    global $dbConnection;
    
  3. 使用错误处理机制来显示错误。启用display_errors的最佳方法之一。使用以下内容进行设置:

    // Code
    ini_set("display_errors", 1);
    // php.ini
    display_errors = On
    
  4. 正确查询。最后,确保要执行的查询是否正确。使用var_dumpprint_r检查输出并使用phpMyAdmin或任何其他客户端在MySQL服务器上执行。

    var_dump($query_rsGetId);