[MySQL 4] Oude sites werken niet meer :/

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

  • Aphax
  • Registratie: Juli 1999
  • Laatst online: 03-06 23:32
Ik heb een tijdje terug MySQL 4.0 geinstalled (mysql-4.0.0a-alpha-win op Windows XP) Maar nou werken mijn oude sites niet meer. Tenminste, ik krijg geen errors (daarom kom ik er maar niet achter wat het nou precies is) maar het lijkt net of alles read-only is, bv een page die links voor me bijoud met behulp van MySQL geeft wle mijn links weer maari k kan niks toevoegen. Ook wil phpMyAdmin niet meer werken en geeft bij alles "No Database Selected" aan ookal probeer ik een DB te selecten.

Vie de meegeleverde mysql client (mysql.exe) kan ik wel gewoon connecten en spul selecten en inserten.

Ik heb phpMyAdmin nu de laatste versie gedownload, en die werkt wel, dus moet ik waarschijnlijk ook mijn scripts aanpassen om te zorgen dat ze met MySQL 4 werken, nou heb ik ff zitten zoeken maar ik kom er niet uit :(

Wie o wie kan me een duw in de goede richting geven? :'(

EDIT: Ik heb nu even een oudere versie van MySQL (mysql-3.23.47-win) geinstalleerd, en 't wil allemaal nog steeds niet werken, alleen die niweuwe phpMyAdmin 2.2.6 werkt dus, ik snap er echt helemala niks meer van, kheb wel t gevoel dat het zoiets ontzettends simpels is, maar ik zie t gewoon niet:/ Maybe PHP ofzo? is er iets veranderd aan the MySQL functies in een van de nieuwste php versies? (Ik heb het zelf met php 4.1.0 en 4.2.1 geprobeerd) :/

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Op het eerste gezicht (read-only) lijkt het erop dat er iets mis is met je user tabel (tabel mysql)? Zorg dat je client (PHP) waar nodig schrijfrechten krijgt, waar nodig deleterechten etc.

This can no longer be ignored.


  • Aphax
  • Registratie: Juli 1999
  • Laatst online: 03-06 23:32
In principe dacht ik eignelijk ook dat het aan de user-rights lag, alleen met phpMyAdmin (die gebruikt dezelfde user als de andere sites) kan ik in principe alles doen, erg verwarrend allemaal :(

  • Glock
  • Registratie: November 2001
  • Niet online
Stukje code van je connect, en query's misschien?
En een layout van je db :?

  • Aphax
  • Registratie: Juli 1999
  • Laatst online: 03-06 23:32
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?

$dbHost = "localhost";
$dbUser = "resein";
$dbPass = "*******";
$dbName = "test";
$dbTable= "test";

// Report
echo "vars set<br>";

if($db = mysql_connect($dbHost, $dbUser, $dbPass)) {
    $msg = "succesfull";
} else {
    $msg = "failed";
}
// Report
echo "connection: $msg<br>";

if(mysql_select_db($dbName, $db)) {
    $msg = "successfull";
} else {
    $msg = "failed";
}
// Report
echo "selectdb: $msg<br>";

?>

Dit scriptje heb ik geschreven om het te testen, hij failed echter bij het selecten van de db. De db bestaat, met daarin 1 tabel ook met de naam "test" met daarin vervolgens 2 kolommen genaamd "id" van het type INT en "name" van het type VARCHAR(20).

Het gekke is dus dat phpMyAdmin dus ook steeds overal failde bij het selecten van de databases, kan het misschien zijn dat de mysql_db_select functie is veranderd ofzo in 1 van de latere versies van PHP ? Dat lijkt mij het meest logisch.

mysql_errno() en mysql_error() geven allebij niets terug. :'(

  • Aphax
  • Registratie: Juli 1999
  • Laatst online: 03-06 23:32
Zucht, nu werkt het dus wel opeens, maar nou werken die andere sites nog steeds niet... Word er gek van :)

edit:

EINDELIJK, ik ben erachter wat al mijn problemen veroorzaakt:

Normaal gesproken als ik een page oproep op deze manier: page.php?var=bla

dan is $var meteen beschikbaar.

Maar nu moet ik deze regel gebruiken:

$var = $HTTP_GET_VARS['var'];

Is hier een omweg voor? Ik heb er gene probleem mee om dit te doen alleen betekent dit dat ik al mijn pagesmoet aanpassen, en dat zijn er nogal wat :(

  • Aphax
  • Registratie: Juli 1999
  • Laatst online: 03-06 23:32
Goed en dan uiteindelijk de oplossing:
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off
ff op On gezet, voortaan dan maar wel HTTP_GET_VARS leren gebruiken :)

  • Joror
  • Registratie: Augustus 2001
  • Laatst online: 11-03-2017

Joror

the eternal lurker

Op zondag 19 mei 2002 15:34 schreef Aphax het volgende:
Goed en dan uiteindelijk de oplossing:
[..]

ff op On gezet, voortaan dan maar wel HTTP_GET_VARS leren gebruiken :)
Of beter als je php 4.1.0 of hoger hebt: $_GET['varnaam'] :)
To help users build PHP applications with register_globals being off, we've added several new special variables that can be used instead of the old global variables. There are 7 new special arrays:

$_GET - contains form variables sent through GET
$_POST - contains form variables sent through POST
$_COOKIE - contains HTTP cookie variables
$_SERVER - contains server variables (e.g., REMOTE_ADDR)
$_ENV - contains the environment variables
$_REQUEST - a merge of the GET variables, POST variables and Cookie variables. In other words - all the information that is coming from the user, and that from a security point of view, cannot be trusted.
$_SESSION - contains HTTP variables registered by the session module

nada aka zilch, formerly known as zip


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

changelog lezen

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.