MySQL naar MYSQLi conversie

Status
Niet open voor verdere reacties.

PeterdeBruin

Gebruiker
Lid geworden
19 mrt 2012
Berichten
73
Ik gebruik nu WAMP 64 bits Versie 2.5 op een Windows 7 systeem met PHP 5.5 omdat de oude PHP code met MySQL_ext tegenwoordig fouten
produceert in de vorm dat MySQL is degraded.

Heb daarom de code van mijn inlog file met een MYSQL to MYSQLi converter van MYSQL.nl omgezet en wonderwel
krijg ik geen degraded fouten meer en loopt het inloggen weer als vanouds.

Echter wanneer ik de nieuwe code vergelijk met de oude dan zie ik twee keer in de conversie : This code does not work staan
Ter info ==> ( beneden de originele en conversie code )

Mijn vraag is of de converter toch niet helemaal zijn werk heeft gedaan en blijft er werk aan de winkel.

Ik gebruik Dreamweaver CS6 versie 12 welke normaliter voor mij de code genereert maar deze blijft mysql_pconnect in plaats van Mysqli ( ondanks PHP2.5 ) genereren vandaar dat ik naar een converteer op zoek ging want ik ben geen PHP programmeur.

Met dank - Peter de Bruin.

------------------------------------- De originele code ----------------------------------------
PHP:
<?php require_once('../Connections/mijn_server.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
?>
------------------------------- Nu de converter code -----------------------------------------
PHP:
<?php require_once('../Connections/mijn_server.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysqli_real_escape_string") ? ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $theValue) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : "")) : ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $theValue) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
?>
 
Laatst bewerkt door een moderator:
Je hebt gelijk het is PHP Versie 5.5.12 - welke nu bij de WAMP server geleverd wordt samen met SQL versie 5.5.17 en Apache 2.4.9 - Sorry voor de misinfo, Nu dacht ik dat Dreamweaver de nieuwste versie zou gebruiken mits aanwezig maar Adobe houdt dus vast aan de MySQL_ext hoewel die al 10 jaar op de lijst staan om te verdwijnen had ik op internet gelezen. Vandaar dat ik met een converter aan de slag ben gegaan.
 
Ben terug naar de oude versie omdat ook Piwigo het fotoalbum wat ik gebruik vol met foutmeldingen staat. Hoewel men dus vanuit PHP al 10 jaar naar iets nieuws wil werkt het in de praktijk niet omdat men bij het oude blijft en er blijkbaar geen goede conversietools zijn. Ben terug op de 2.2 versie met mijn WAMP server.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan