我正在尝试将网站从一家托管公司转移到另一家托管公司。我使用000webhost,直到客户端托管和域名。现在客户端拥有他们的域名和托管,使用FatCow.com,我不能为我的生活,调试我的PHP代码。我没有收到任何错误。我有一个成功的数据库连接。如果你在程序上显示数据,它可以工作,但是当我尝试使用我的原始对象时,某些东西正在破坏并且只返回“0:”。我有所有的错误。
在网站工作的旧服务器上:
PHP Version 5.2.11
MySQL版本:5.0.81
在新服务器上我得到“0:”:
PHP Version 5.2.12
MySQL版本5.0.32
我已经设置了一个测试页面来测试数据库连接的变量输出。
以下是我的代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
try
{
$link = mysql_connect('connectionstring', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
else{
$db = mysql_select_db('a8210422_lit');
}
if($db){
include_once('admin/classes/clsPOW.php');
include_once('admin/classes/clsProviders.php');
$pow = new POW();
$prov = new Providers();
$new = $pow->getNew();
$newAr = $new->val();
$get = $prov->getAll($newAr['providerId']);
$getAr = $get->val();
$img = $getAr['image'];
$name = $getAr['provider'];
$desc = $getAr['description'];
$zip = $getAr['zip'];
$web = $getAr['link'];
if($zip==0){
$zip = "Unavailable";
}
print_r($getAr);
}
else{
print 'fail!';
}
}
//catch exception
catch(Exception $e)
{
echo 'Message: ' .$e->getMessage();
}
?>
// Class POW
require_once('clsSql.php');
require_once('clsResult.php');
include_once('/hermes/web07/b1323/moo.madisoncountyliterac/assets/includes/db.php');
class POW{
public function getNew(){
//instantiate the sql class
$SQL=new sql();
//Run a query - Result is automatically stored in the class
$sel = "SELECT providerId
FROM litProviders
WHERE image != ''
ORDER BY RAND()
LIMIT 1";
$q=$SQL->query($sel);
return $q;
}
}
//类提供者
require_once('clsSql.php');
require_once('clsResult.php');
include_once('/hermes/web07/b1323/moo.madisoncountyliterac/assets/includes/db.php');
class Providers{
public function getAll($where=""){
if($where == ""){
$getAllQuery = "SELECT * FROM litProviders";
}
else{
$getAllQuery = "SELECT * FROM litProviders WHERE providerId = '".$where."'";
}
//instantiate the sql class
$SQL=new sql();
//Run a query - Result is automatically stored in the class
$q=$SQL->query($getAllQuery);
return $q;
}
public function submit($id="", $provider, $description, $zip, $image, $link){
if($id != ""){
//update
$query = "UPDATE litProviders SET provider = '".$provider."', description = '".$description."', zip = '".$zip."', image = '".$image."', link = '".$link."'
WHERE providerId = '".$id."' ";
$message = "The provider has been updated.";
}
else{
//insert
$newid = md5(uniqid());
$query = "INSERT INTO litProviders
VALUES ('".$newid."','".$provider."','".$description."','".$zip."','".$image."', '".$link."')";
$message = "You have added a new provider.";
}
//instantiate the sql class
$SQL=new sql();
//Run a query - Result is automatically stored in the class
$q=$SQL->query($query);
return $message;
}
public function delete($id=""){
if($id !=""){
$delQuery = "DELETE FROM litProviders WHERE providerId = '".$id."'";
//instantiate the sql class
$SQL=new sql();
//Run a query - Result is automatically stored in the class
$q=$SQL->query($delQuery);
if($q){
return true;
}
else{
return false;
}
}
else{
return "No ID was provided for deletion.";
}
}
}
答案 0 :(得分:2)
我遇到了同样的问题。
我不知道确切的原因或你的问题,但我会告诉你我过去的情况:
我创建了一个.inc文件来连接数据库,所以我只发布我真正实现它的代码:
require"../References/connection.inc";
$con=connect();
if(@ mysql_select_db($dbname,$con))showerror();
此代码在我的页面上删除了“错误0:”消息。我写的其他页面没有显示这个,所以我注意到我忘了将if()
的内部文本括在另一组括号中并否定它。
工作代码(没有“错误0:”消息)是:
require"../References/connection.inc";
$con=connect();
if(!(@ mysql_select_db($dbname,$con)))showerror();
答案 1 :(得分:1)
如果你不打印除了它们之外的其他东西,那么打印变量是没有用的。
你应该
print_r(array(
"thing" => $thing,
"stuff" => $stuff,
"dwarf" => $dwarf,
));
答案 2 :(得分:0)
我显示了同样的错误,结果是由于在选择数据库时没有包含缺少的第二个(可选)连接参数。
ex(错误):mysql_select_db($dbname)
ex :(已修复):mysql_select_db($dbname,$con)