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