0
私はこの分野ではあまり経験がありませんので、私は助けを求めています。mysqlをmysqliに変更し、データベースに接続できません
最近ホストを変更し、スクリプトが機能しなくなりました。すべてのファイルを移動した後、新しいホストはmysqlが推奨されないと言ったので、少し検索した後、mysqliでmysqlを変更することにしました。しかし、今私は新しいエラー(エラー選択DB)を取得します。私はmysqliを接続するためにスクリプトを細かく変更しなければならないと思います。これは$リンクする必要がありますhttp://php.net/manual/en/mysqli.select-db.php最初のパラメータに説明したように、私は
<?php
class Model{
\t var $conn;
\t
\t public function openDb($dbhost, $dbuser, $dbpass, $dbname, $conn)
\t {
\t \t //echo "Se creo la conexion ";
\t \t $conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysqli');
\t \t mysqli_select_db($dbname) or die('Error select db');
\t \t mysqli_query("SET NAMES utf8");
\t \t return $conn;
\t }
\t public function closeDb($conn)
\t {
\t \t mysqli_close($conn);
\t }
\t public function query($query)
\t {
\t \t if ($result = mysqli_query($query) or die("Error de Query: </br >" . mysqli_error()."<br/>".$query)) {
\t \t //if ($result = mysqli_query($query)) {
\t \t } else {
\t \t \t $result = false;
\t \t }
\t \t return $result;
\t }
\t
\t function __construct()
\t {
\t \t $this->openDb(dbhost, dbuser, dbpass, dbname, $conn);
\t }
\t
\t //insertGenerico con indedices asiciativos
function insertar($tabla, $datos)
{
$columnas = implode(", ", array_keys($datos));
$valores = implode(", ", $datos);
$query = "INSERT INTO $tabla
($columnas)
VALUES
(" . $valores . ")";
return $this -> query($query);
}
function insertarRelacionArray($tabla, $tablaRelacion, $datos)
{
foreach ($datos as $row) {
$query = "INSERT INTO $tabla
($tablaRelacion[0],$tablaRelacion[2])
VALUES
($tablaRelacion[1],$row)";
//echo '<br>'.$query;
$this -> query($query);
}
}
//getGenerico
function get($tabla, $where = false, $order = false)
{
$query = "SELECT *
FROM $tabla
$where
$order";
return $this -> query($query);
}
//deleteGenerico
function delete($tabla, $id, $idTag = false)
{
\t if($idTag==false)
$idTag = "id";
$query = "DELETE FROM $tabla
WHERE $idTag = $id";
return $this -> query($query);
}
//update generico
function update($tabla, $datos, $id, $idTag = false)
{
$columnas = array_keys($datos);
$SET = 'SET ';
$i = 0;
foreach ($datos as $key => $value) {
if (next($datos)) {
$SET .= "$key = $value ,";
} else {
$SET .= "$key = $value ";
}
}
if($idTag==false)
$idTag = "id";
$query = "UPDATE $tabla $SET WHERE $idTag = $id;";
return $this -> query($query);
}
\t
}
?>
( mysql_query()とmysql_real_escape_string()を呼び出すたびに、新しいプロトタイプ(php.netの説明どおり)に一致するように更新する必要があるので、私のコードをmysqlからmysqliに変更しました。 –