【问题标题】:PHP7 compatibilityPHP7 兼容性
【发布时间】:2016-10-18 20:11:02
【问题描述】:

我正在寻找 PHP7 兼容性的修复程序。 我的代码适用于 PHP 5.6.2。

你能帮我使用 PHP7 吗?

<?php 
$select = "SELECT post_title , ID FROM  wp_posts ORDER BY ID DESC LIMIT 60";
$sql1= mysql_query($select);
$a = 1;
while($row = mysql_fetch_array($sql1)){  ?>
div class="form-group">
<input type="hidden" readonly value="<?php echo $row['post_title']; ?>" name="post_title-<?php echo $a; ?>" class="form-control abc1" id="post_title" placeholder="post_title">
<input type="hidden" readonly value="<?php echo $row['ID']; ?>" name="ID-<?php echo $a; ?>" class="form-control abc1" id="post_title" placeholder="post_title">
</div>
<?php $a++;
}
?>

谢谢。 最好的祝福 吉日

【问题讨论】:

  • mysql_* 扩展已被 php 7 弃用
  • 尝试使用mysqli扩展;另外,如果您可以发布遇到的错误,那将很有帮助。尝试将error_reporting(E_ALL); 放在顶部以找出答案。

标签: php php-7


【解决方案1】:

即使在运行 PHP 5.6.2 时,您也应该看到 mysql_* functions 的弃用通知,并且它们已在 PHP 7 中完全删除。幸运的是,您可以使用 mysqli_* functions 而无需真正更改代码。

此示例的主要区别(除了在函数名称中添加 i 之外)是现在您需要显式使用 mysqli_connect()mysqli_init() 返回的链接标识符,这是不同的,因为之前如果未指定链接标识符,则假定为 mysql_connect() 打开的最后一个链接。现在是必需的。

<?php

// get a link to the connection
$link = mysqli_connect("localhost", "my_user", "my_password", "my_db");

$select = "SELECT post_title , ID FROM  wp_posts ORDER BY ID DESC LIMIT 60";

// use the link here
// change mysql_query -> mysqli_query
$sql1= mysqli_query($link, $select);

$a = 1;

// change mysql_fetch_array -> mysqli_fetch_array
while($row = mysqli_fetch_array($sql1)){  ?>
div class="form-group">
<input type="hidden" readonly value="<?php echo $row['post_title']; ?>" name="post_title-<?php echo $a; ?>" class="form-control abc1" id="post_title" placeholder="post_title">
<input type="hidden" readonly value="<?php echo $row['ID']; ?>" name="ID-<?php echo $a; ?>" class="form-control abc1" id="post_title" placeholder="post_title">
</div>
<?php $a++;
}
?>

【讨论】:

  • @JoeWatkins 感谢您的提示。我已经更新了我的答案。
猜你喜欢
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 2016-04-12
  • 2016-02-19
相关资源
最近更新 更多