我昨天发布了这个,我没有得到可以解决我的问题的答案,但无论如何我得到了一些非常好的想法。此代码从数据库中检索关联的行并将其转换为PHP数组,以便将其显示为配置文件信息。这是我目前的代码:
查询:
<?php
require 'includes/constants.php';
class newMysql {
private $conn;
function __construct() {
$conn = mysql_connect(DB_SERVER_USERS, DB_USER_USERS, DB_PASSWORD_USERS, DB_NAME_USERS);
if(!$conn) die('There was a problem connecting to the database.');
}
function get_profile(mysql_escape_string($lname)) {
$query = "SELECT * FROM members WHERE lname = '".$lname."' ";
$registerquery = mysql_query($query);
if($registerquery){
if (gettype($registerquery) == "resource") {
if (mysql_num_rows($result) != 0 ) {
while ($row = mysql_fetch_assoc($registerquery)) {
$profile[] = $row;
}
return $profile;
}
}
if(gettype($registerquery) == "boolean") {
return "No array returned";
}
}
else return "Query not successful".$registerquery;
}
}
显示:
<?php
require 'classes/newMysql.php';
$mysql = new newMysql();
$profile = array();
$profile = $mysql->get_profile("lozano");
echo $profile;
无论我做什么,我都会收到消息:“查询不成功”。 那么查询不返回任何内容?它也没有抱怨数据库连接失败。我直接从CLI尝试了查询,它确实返回了预期的数据行。
任何帮助......
答案 0 :(得分:2)
如果您的查询不成功,请使用mysql_error
了解发生的情况。
http://php.net/manual/en/function.mysql-error.php
它可以帮助您快速解决问题。
修改:
您似乎没有在代码中选择特定的数据库。你应该做
在连接之后,在查询之前mysql_select_db($dbname, $conn);
。
答案 1 :(得分:0)
确实
function get_profile(mysql_escape_string($lname)) {
实际上有效吗?
我原本期望一个解析错误......它肯定是我本地5.2.8安装上的对象
function get_profile($lname) {
$lname = mysql_escape_string($lname)
答案 2 :(得分:0)
您可能想尝试一下:
<?php
require 'includes/constants.php';
class newMysql {
private $conn;
function __construct() {
$this->conn = mysql_connect(DB_SERVER_USERS, DB_USER_USERS, DB_PASSWORD_USERS, DB_NAME_USERS);
if(!$this->conn) die('There was a problem connecting to the database.');
}
function get_profile($lname) {
$query = "SELECT * FROM members WHERE lname = '".mysql_escape_string($lname)."' ";
$registerquery = mysql_query($query, $this->conn) or die(mysql_error());
if($registerquery){
if (gettype($registerquery) == "resource") {
if (mysql_num_rows($result) != 0 ) {
while ($row = mysql_fetch_assoc($registerquery)) {
$profile[] = $row;
}
return $profile;
}
}
if(gettype($registerquery) == "boolean") {
return "No array returned";
}
}
else return "Query not successful".$registerquery;
}
}
不要使用我在生产中添加的or die
构造(更好地记录这些错误并向最终用户提供一个很好的错误消息)。