0

この関数を使用して、 PHPでMySQLの結果を返そうとしました。PhpMyAdminクエリを実行したところ、正常に実行されました。しかし、 PHPで実行しようとすると、何も返されません。

のテーブルは次のように構成されています。

<table>
    <tr>
    <td>Setting</td>
    <td>Value</td>
    </tr>
    <tr>
    <td>Setting</td>
    <td>stylesheet.css</td>
    </tr>
</table>

機能:

function getData()
{
require 'config.php';
$con = mysql_connect($hostname, $username, $password, $database);
$sql = "SELECT Value FROM Settings WHERE Setting = 'Stylesheet'";
$result = mysql_query($con,$sql);
$row = mysql_result($result, 0);
mysqli_close($con);
return $row;
}

更新まだ機能していません

function getData()
{
require 'config.php';
$con = mysql_connect($hostname, $username, $password, $database);
$sql = "SELECT Value FROM Settings WHERE Setting = 'Stylesheet'";
$result = mysql_query($sql, $con);
$row = mysql_result($result, 0);
mysql_close($con);
return $row;
}
4

3 に答える 3

1

と を混合mysql_*してmysqli_*います。が 1 つしかない場合は、接続を指定する必要はありませんmysql_*

Function [ <internal:mysql> function mysql_query ] {

  - Parameters [2] {
    Parameter #0 [ <required> $query ]
    Parameter #1 [ <optional> $link_identifier ]
  }
}

たとえばPDOを使用できない場合は、関数のリファクタリングを検討してください。

require 'config.php';
$con = mysql_connect($hostname, $username, $password, $database);

function getData()
{
  $sql = "SELECT Value FROM Settings WHERE Setting = 'Stylesheet'";
  $result = mysql_query($sql);
  $row = mysql_result($result, 0);
  return $row;
}

リクエストの最後に接続が閉じられます。不要な接続/切断アクションを行っているだけです。

于 2013-09-05T01:45:58.917 に答える
0
    class MySQL {
    var $ServerURL='localhost';
    var $ServerPort='3306';
    var $DataBaseName='test';
    var $DataBaseUser='root';
    var $DataBasePass='';
    public function __construct() {
        $this->mysqli = new mysqli($this->ServerURL,$this->DataBaseUser,$this->DataBasePass,$this->DataBaseName,$this->ServerPort);
        if (mysqli_connect_errno()) {
            printf('failed to connect');
            }
        else {
            }


    }

    }
    $MySQL = new MySQL;

       require 'config.php';
class Data extends MySQL {
     function getData()
        {
        $this->sql = "SELECT Value FROM Settings WHERE Setting = 'Stylesheet'";
        $result = mysqli_query($this->mysqli, $this->sql);
        $this->row = mysql_result($this->result, 0);
        return $this->row;

        }
$Data = new Data;
于 2014-04-30T06:04:24.617 に答える