【问题标题】:PDO in a function PHP failing [duplicate]函数PHP中的PDO失败[重复]
【发布时间】:2015-10-10 15:49:35
【问题描述】:

我正在尝试通过函数使用以下内容来使用数据库。 这没有按预期工作。这在函数外有效,但在函数内无效。使用 PDO 行时页面返回空白。

function db($inputStatement){
        $link = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
        $statement = $link->prepare($inputStatement);
      echo $inputStatement.'-XX';
  }
  db("SELECT * FROM users");
echo "<br />END OF test.php";

【问题讨论】:

  • 你的函数对$db*变量一无所知
  • “这在函数外有效,但在函数内无效。” - 你知道要找什么了。

标签: php pdo


【解决方案1】:

一种方法是将 $db** 定义为 contants,然后您可以在函数中使用它们

<?php

  define( 'DB_HOST', 'host' );
  define( 'DB_NAME', 'name' );
  define( 'DB_USER', 'user' );
  define( 'DB_PASS', 'pass' );

  function db( $inputStatement )
  {
      $link = new PDO( 'mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS );
      $statement = $link->prepare( $inputStatement );
      echo $inputStatement . '-XX';
  }

?>

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 2014-01-26
    • 2021-03-05
    • 2013-06-24
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    相关资源
    最近更新 更多