微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的php脚本没有使用给定的用户名/ pass / host而是使用root @ localhost(密码:NO)

有问题!虽然我发现几乎相似的线程但没有帮助:(

我写了一个PHP脚本来从我的MySQL数据库获取注册用户数量.该脚本在我的localhost中运行良好;它分别使用给定的用户名,传递和主机名,分别是“root”,“root”和“localhost”,但脚本没有使用给定的用户名/ pass / host,而是使用root @ localhost(密码:NO)在Live服务器中.

在Live服务器中,我创建了一个MysqL用户,设置了不同的密码,主机名当然不是localhost.我用新创建的MysqL用户数据更新了脚本.但是,每当我运行脚本时,我都会看到脚本仍在使用“root”,“root”和“localhost”!!

看一下脚本:

    //database connection
    $conn = MysqL_connect( "MysqL.examplehost.com", "myusername", "mypass" );
$db = MysqL_select_db ("regdb",$conn); //Oops, actually it was written this way in the script. I misstyped it prevIoUsly. Now edited as it is in the script.

    //Query to fetch data
$query = MysqL_query("SELECT * FROM regd ");            
while ($row = MysqL_fetch_array($query)): 
$total_regd = $row['total_regd'];
endwhile;   

echo $total_regd;

– 有人说更改用户名并传入位于PHPMyAdmin目录中的config.ini.PHP文件.这会有帮助吗?我没有尝试这个,因为我的托管服务提供商没有给我权限访问该目录(因为我使用免费托管测试脚本)或我只是没有找到它:(

请帮忙….

解决方法:

前言:MysqL扩展被标记为已弃用,更好地使用MysqLi或PDO

虽然您将连接资源存储在$conn中,但是您没有在调用MysqL_query()时使用它,并且您没有检查MysqL_connect()的返回值,即如果由于某种原因连接失败,则MysqL_query()“是免费的“建立新的认连接.

<?PHP
//database connection
$conn = MysqL_connect( "MysqL.examplehost.com", "myusername", "mypass" );
if ( !$conn ) {
    die(MysqL_error()); // or a more sophisticated error handling....
}

$db = MysqL_select_db ("regdb", $conn);
if ( !$db ) {
    die(MysqL_error($conn)); // or a more sophisticated error handling....
}

//Query to fetch data
$query = MysqL_query("SELECT * FROM regd ", $conn);
if (!$query) {
    die(MysqL_error($conn)); // or a more sophisticated error handling....
}

while ( false!=($row=MysqL_fetch_array($query)) ): 
    $total_regd = $row['total_regd'];
endwhile;   

echo $total_regd;

编辑:看起来你只处理一行.
要么将回显线移动到while循环中,要么(如果你真的只想要一条记录)在sql语句中更好地说出来并摆脱循环,例如:

// Query to fetch data
// make it "easier" for the MysqL server by limiting the result set to one record
$query = MysqL_query("SELECT * FROM regd LIMIT 1", $conn);
if (!$query) {
    die(MysqL_error($conn)); // or a more sophisticated error handling....
}

// fetch data and output
$row=MysqL_fetch_array($query);
if ( !$row ) {
    echo 'no record found';
}
else {
    echo htmlspecialchars($row['total_regd']);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐