Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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
从php5升级到php7运行脚本时遇到问题_Php - Fatal编程技术网

从php5升级到php7运行脚本时遇到问题

从php5升级到php7运行脚本时遇到问题,php,Php,我想知道是否有人能帮忙。大约三年前我放弃了网络编程。自从大约一周前回到编程岗位以来,我意识到我已经忘记了很多事情,并且发生了很多变化 我与php7签订了一份协议,但我的代码是php5,当我开始运行我的脚本时,什么都不起作用 例如,我甚至无法连接到数据库。我的php5数据库连接文件为 <?php $db_host = "localhost"; // Place the username for the MySQL database here $db_username = "db_us

我想知道是否有人能帮忙。大约三年前我放弃了网络编程。自从大约一周前回到编程岗位以来,我意识到我已经忘记了很多事情,并且发生了很多变化

我与php7签订了一份协议,但我的代码是php5,当我开始运行我的脚本时,什么都不起作用

例如,我甚至无法连接到数据库。我的php5数据库连接文件为

<?php  
$db_host = "localhost"; 
// Place the username for the MySQL database here 
$db_username = "db_username_here";  
// Place the password for the MySQL database here 
$db_pass = "db_password_here";  
// Place the name for the MySQL database here 
$db_name = "name_of_database_here"; 

// Run the actual connection here  
mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql");
mysql_select_db("$db_name") or die ("no database");              
?>

我和服务器公司谈过,他们告诉我一切都变了,我的代码要与php7兼容。然后,他们通过给我一个示例文件来帮助我连接数据库,这个示例文件说明了应该如何连接数据库,这就是代码

 <?

/* DATEBASE CONFIGURATION */

$dbHost = "ip Address";
$dbName = "name_of_database_here";           // Database name
$dbUser = "db_username_here";           // Database user
$dbPasswd = "db_password_here";                 // Database password

function dbConnect(){
 global $dbHost, $dbUser, $dbPasswd, $dbName;
 mysql_connect( $dbHost, $dbUser, $dbPasswd ) or error( mysql_error() );
 mysql_select_db( $dbName );
}
?>

我总是从localhost运行我的数据库$dbHost,所以我猜,因为他们没有以localhost和gobal的身份使用ip地址进行连接,所以我认为数据库与网站不在同一服务器上

然后我使用数据库脚本从浏览器运行到phpmyadmin,但它们也不起作用。这是我的数据库脚本php5

<?php
require "connect_to_mysql.php";  

    $sqlCommand = "CREATE TABLE admin (
                     id int(11) NOT NULL auto_increment,
                     username varchar(24) NOT NULL,
                     password varchar(24) NOT NULL,
                     last_log_date date NOT NULL,
                     PRIMARY KEY (id),
                     UNIQUE KEY username (username)
                     ) ";
    if (mysql_query($sqlCommand)){ 
        echo "Your admin table has been created successfully!"; 
    } else { 
        echo "CRITICAL ERROR: admin table has not been created.";
    }
    ?>

我想知道是否有人能给我一些关于为什么脚本没有运行的建议
非常感谢,Gary已从php7中删除mysql\u connect

相反,您可以使用mysqli或pdo

mysqli示例

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";

mysql
扩展在php7中被删除
功能不再受支持。很抱歉,您能解释一下,因为服务器公司完成我的连接文件的方式,他们仍然包括mysql\u连接我的连接脚本的设置方式我的数据库脚本无法工作的原因,因为我创建的脚本连接了数据库?@gary33您所有的代码使用
mysql.*
函数需要重新编码。这些功能在PHP7中消失了。这通常不是主人的责任。谢谢大家的帮助,我非常感谢。我现在开始记得一切了。我花了几天的时间才记起,但我正在努力。谢谢大家。
<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }