Neden bir komut mysqli kullanarak ister ama MySQL ile iyi değil mi?

2 Cevap php

Ben, SELECT ile bir komut dosyası çalıştırmak DELETE, INSERT ve UPDATE querys için mysqli kullanarak bazı sorunlar yaşıyorum. Böyle mysql_connect gibi norm mysql kullanıyorum ama mysqli kullanarak im garip sonuçlar alırken onlar çalışır. Bu diğer komut SELECT querys bir çok çalışıyor ancak bazı yönetici şeyler geldiğinde o kadar karışıyor.

Bütün komut ekleme olmadan açıklamak onun zor.

Bu değiştirme işlevi ...


function database_queryModify($sql,&$insertId)
  {
    global $databaseServer;
    global $databaseName;
    global $databaseUsername;
    global $databasePassword;
    global $databaseDebugMode;

    $link = @mysql_connect($databaseServer,$databaseUsername,$databasePassword);

    @mysql_select_db($databaseName,$link);

    $result = mysql_query($sql,$link);

    if (!$result && $databaseDebugMode)
    {
      print "[".$sql."][".mysql_error()."]";
    }

    $insertId = mysql_insert_id();

    return mysql_affected_rows();
  }

ve heres ne mysqli'nin için bunu değiştirdi


function database_queryModify($sql,&$insertId)
  {
    global $databaseServer;
    global $databaseName;
    global $dbUser_feedadmin;
    global $dbUser_feedadmin_pw;
    global $databaseDebugMode;

    $link = @mysqli_connect($databaseServer,$dbUser_feedadmin,$dbUser_feedadmin_pw,$databaseName);
    $result = mysqli_query($link, $sql);

    if (!$result && $databaseDebugMode)
    {
      print "[".$sql."][".mysqli_error()."]";
    }
    $insertId = mysqli_insert_id();
    return mysqli_affected_rows();
  }

Bu doğru görünüyor mu?

Bu aslında bir hata üreten değil ama mysql kullanırken olduğu gibi aynı şekilde çalışmıyor. herhangi bir fikir?

2 Cevap

mysqli bazı işlevler $ link içeren bazı müdahalesi gibi gerekli

Burada normalde mysqli kullanmak yoludur

$mysqli = new mysqli($myServer, $myUser, $myPass, $myDB);
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit;
} 
$result = $mysqli->query($query);

while ($row=$result->fetch_assoc()) {
  print_r($row);
}

Not: mysqli bir sınıf, $ mysqli bu sınıfın örneğini tutan değişken olduğunu, sorgu kendi yöntemleri vardır bir sonuç sınıf döndürür bu sınıfın bir yöntemdir.