PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   mysql nach mysqli (http://www.selfphp.de/forum/showthread.php?t=25754)

oi1996 15.01.2016 13:36:09

mysql nach mysqli
 
nicht gleich erschlagen aber ich verzweifel so langsam.
ich versuche mysql auf mysqli umzustellen.
Paragramierumgebung codelobster, PHP5.6.12 und xampp

require_once 'config.php';
$abfrage = "Select * From news " ;

$verbindung = mysql_connect ($DBHost,$DBUser, $DBPass)or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysql_select_db($DBDB)or die ("Die Datenbank existiert nicht.<br>");

$ergebnis = mysql_query($abfrage);
$menge = mysql_num_rows($ergebnis);
$dfbPoiner= 0;
if ($menge >=1 ){
while ($row = mysql_fetch_object($ergebnis)){
$news = $row -> newsticker;
}
}
mysql_close($verbindung);

echo "News: $news";


$verbindung1 =new mysqli ($DBHost,$DBUser, $DBPass, $DBDB);
if ($verbindung1 -> connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", $verbindung1 -> connect_errno());
exit();
}
$ergebnis = $verbindung1 -> query($abfrage);
$menge = mysqli_num_rows($ergebnis);
$dfbPoiner= 0;
if ($menge >=1 ){
while ($row = mysqli_fetch_object($ergebnis)){
$news = $row -> newsticker;
}
}
mysqli_close($verbindung);
echo "News: $news";

der alte teil mysql läuft einwandfrei bei $verbindung1 bekomme ich aber nur NULL angaben zurück. habe schon mit new Mysqli oder mysqli_connect ausprobiert immer das gleiche.

sysop 18.01.2016 15:28:50

AW: mysql nach mysqli
 
Ich habe mir da einen wrapper zusammen gebaut, der mir die alten mysql Aufrufe als Funktrion zur Verfügung stellt, wenn die mysql Extension nicht gefunden wird.
Wenn es also darum geht, dass du keine mysql Extension mehr hast, einfach den wrapper am Anfang des Codes per include/require einfügen...
Ansonsten kann das auch als Nachschlagecode dienen.

PHP-Code:

<?php

/*
 * mysql_wrapper.php
 *
*/

if(!function_exists("mysql_connect"))
{
    if(!
extension_loaded("mysqli"))
    {
        
trigger_error("MySQLi extension must be loaded."E_USER_ERROR);
    }

    
define("MYSQL_NUM"MYSQLI_NUM);
    
define("MYSQL_ASSOC"MYSQLI_ASSOC);
    
define("MYSQL_BOTH"MYSQLI_BOTH);

    
define("MYSQL_CLIENT_COMPRESS"NULL);
    
define("MYSQL_CLIENT_IGNORE_SPACE"NULL);
    
define("MYSQL_CLIENT_INTERACTIVE"NULL);

    
$__mysql NULL;

/*
 *  Start connections and functions
 *
*/

    
function mysql_not_implemented($function)
    {
        
trigger_error("The $function function is not available for this Script. Complete function on mysql_wrapper.php to use it!"E_USER_WARNING);
        return 
false;

    }

    function 
mysql_resolve_link($link)
    {
        global 
$__mysql;

        if(
$link == NULL)
        {
            if(!
is_object($__mysql))
            {
                
trigger_error("invalid link handle, connect to database"E_USER_ERROR);
            }
            else
            {
                return 
$__mysql;
            }
        }
        return 
$link;
    }

    function 
mysql_connect($host NULL$user NULL$pass NULL$new false$flags 0)
    {
        global 
$__mysql;

        
$extra_info substr(strstr($host":"), 1);
        if(!empty(
$extra_info))
        {
            if(
is_numeric($extra_info))
            {
                
$port $extra_info;
            }
            else
            {
                
$socket $extra_info;
            }

            
$host substr($host0strlen($host)-(strlen($extra_info)+1));

        }

        if(empty(
$socket))
        {
            if(empty(
$port))
            {
                
$__mysql mysqli_connect($host$user$pass);
            }
            else
            {
                
$__mysql mysqli_connect($host$user$passNULL$port);
            }

        }
        else
        {
            
$__mysql mysqli_connect($host$user$passNULLNULL$socket);
        }

        return 
$__mysql;
    }

    function 
mysql_select_db($dbname$link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_select_db($link$dbname);
    }

    function 
mysql_query($query$link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_query($link$query);
    }

    function 
mysql_fetch_assoc($result)
    {
        return 
mysqli_fetch_assoc($result);
    }

    function 
mysql_fetch_array($result$type NULL)
    {
        return 
mysqli_fetch_array($result$type);
    }

    function 
mysql_fetch_field($result$offset NULL)
    {
        if(
$offset != NULL)
        {
            for(
$i 0; ($i $offset) || !($retval mysqli_fetch_field($result)); $i++)
            {
                
/* not ready yet... */
            
}
        }
        else
        {
            return 
mysqli_fetch_field($result);
        }

        return (
$retval) ? $retval false;

    }

    function 
mysql_close($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_close($link);

    }

    function 
mysql_affected_rows($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_affected_rows($link);

    }

    function 
mysql_change_user($user$passwd$database NULL$link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_change_user($link$user$passwd$database);
    }

    function 
mysql_client_encoding($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_character_set_name($link);
    }

    function 
mysql_create_db($database$link NULL)
    {
        
$link mysql_resolve_link($link);
        
$query "CREATE DATABASE $database";
        
$result msyqli_query($link$query);
        return (!
$result) ? false true;
    }

    function 
mysql_data_seek($result$row)
    {
        return 
mysqli_data_seek($result$row);
    }

    function 
mysql_db_name($result$row$field NULL)
    {
        return 
mysql_not_implemented("mysql_db_name()");
    }

    function 
mysql_db_query($database$query$link NULL)
    {
        
$link mysql_resolve_link($link);
        
mysqli_select_db($link$database);
        return 
mysqli_query($link$query);
    }

    function 
mysql_drop_db($database$link NULL)
    {
        
$link mysql_resolve_link($link);
        
$query "DROP DATABASE $database";
        
$result mysqli_query($link$query);
        return (!
$result) ? false true;
    }

    function 
mysql_error($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_error($link);
    }

    function 
mysql_errno($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_errno($link);
    }

    function 
mysql_escape_string($string)
    {
        
$link mysql_resolve_link(NULL);
        return 
mysqli_real_escape_string($link$string);
    }

    function 
mysql_fetch_lengths($result)
    {
        return 
mysqli_fetch_lengths($result);
    }

    function 
mysql_fetch_object($result)
    {
        return 
mysqli_fetch_object($result);
    }

    function 
mysql_fetch_row($result)
    {
        return 
mysqli_fetch_row($result);
    }

    function 
mysql_field_flags($result$offset)
    {
        return 
mysql_not_implemented("mysql_field_flags()");
    }

    function 
mysql_field_len($result$offset)
    {
        return 
mysql_not_implemented("mysql_field_len()");
    }

    function 
mysql_field_name($result$offset)
    {
       
$finfo mysqli_fetch_field_direct($result$offset);
       return 
$finfo->name;
    }

    function 
mysql_field_seek($result$offset)
    {
        return 
mysqli_field_seek($resutl$offset);
    }

    function 
mysql_field_table($result$offset)
    {
        return 
mysql_not_implemented("mysql_field_table()");
    }

    function 
mysql_field_type($result$offset)
    {
        return 
mysql_not_implemented("mysql_field_type()");
    }

    function 
mysql_free_result($result)
    {
        return 
mysqli_free_result($result);
    }

    function 
mysql_get_client_info()
    {
        return 
mysqli_get_client_info();
    }

    function 
mysql_get_host_info($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_get_client_info($link);

    }

    function 
mysql_get_proto_info($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_get_proto_info($link);
    }

    function 
mysql_get_server_info($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_get_server_info($link);
    }

    function 
mysql_info($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_info($link);
    }

    function 
mysql_insert_id($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_insert_id($link);
    }

    function 
mysql_list_dbs($link NULL)
    {
        
$link mysql_resolve_link($link);
        
$query "SHOW DATABASES";
        return 
mysqli_query($link$query);
    }

    function 
mysql_list_fields($database$table$link NULL)
    {
        return 
mysql_not_implemented("mysql_list_fields()");
    }

    function 
mysql_list_processes($link NULL)
    {
        return 
mysql_not_implemented("mysql_list_processes()");
    }

    function 
mysql_list_tables($database$link NULL)
    {
        return 
mysql_not_implemented("mysql_list_tables()");
    }

    function 
mysql_num_fields($result)
    {
        return 
mysqli_num_fields($result);
    }

    function 
mysql_num_rows($result)
    {
        return 
mysqli_num_rows($result);
    }

    function 
mysql_pconnect($host NULL$user NULL$passwd NULL$flags NULL)
    {
        return 
mysql_connect($host$user$passwdfalse$flags);
    }

    function 
mysql_ping($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_ping($link);
    }

    function 
mysql_real_escape_string($string$link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_real_escape_string($link$string);
    }

    function 
mysql_result($result$row$field NULL)
    {
        return 
mysql_not_implemented("mysql_result()");
    }

    function 
mysql_stat($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_stat($link);
    }

    function 
mysql_tablename($result$offset)
    {
        return 
mysql_not_implemented("mysql_tablename()");
    }

    function 
mysql_thread_id($link NULL)
    {
        
$link mysql_resolve_link($link);
        return 
mysqli_thread_id($link);
    }

    function 
mysql_unbuffered_query($query$link NULL$result_mode NULL)
    {
        return 
mysql_not_implemented("mysql_unbuffered_query()");
    }

    function 
mysql_set_charset($link$charakter)
    {
        
$link mysql_resolve_link($link);
        return 
mysql_set_charset($charakter,$link);
    }
}



Alle Zeitangaben in WEZ +2. Es ist jetzt 13:38:01 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.