overgestap van wamp 2,5 naar 3,06 heb errors
nu gebruik ik het zelfde php scrip en krijg een error
1 0.0005 243840 {main}( ) ...\test.php:0
2 0.0017 245136 mysqli_connect ( ) ...\test.php:16
Could not connect:
nu zie ik wel dat mysql_connect ( ) is mysqli_connect ( ) geworden.
maar wat er met {main} moet gebeuren weet ik niet
dit is mijn test code wie kan me op weg helpen
Code (php)
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
29
30
31
32
33
34
35
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
29
30
31
32
33
34
35
<?php
if(empty($_GET)){
$ga="";
} else {
$site = $_GET['site'];
$ga = 'WHERE site="'.$site.'"';
}
//echo $ga;
date_default_timezone_set('Europe/Amsterdam');
setlocale(LC_ALL, 'nl_NL');
include('db.php');
// echo ' '.$host.' '.$dbnaam.' '.$dbww.' '.$db_name;
$link = mysqli_connect($host, $dbnaam, $dbww, $db_name);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db_name, $link);
$qr1 = mysql_query("SELECT * FROM counter ".$ga." ORDER BY num");
$rowsn = mysql_num_rows($qr1);
echo $rowsn.'<br>';
$a = 1;
for ($i=0; $i < $rowsn; $i++)
{
$row = mysql_fetch_array($qr1);
echo ' '.$row['num'].' - '.$row['datum'].' - '.$row['tijd'].' - '.$row['site'].' - '.$row['aantal'].' - '.
$a.' - <a target="_blank" href="http://www.ip-adress.com/ip_tracer/'.$row['ip'].'">'.$row['ip'].'</a> - '.$row
['resolutie'].' - '.$row['taal'].' - '.$row['browser'].' - '.$row['os'].'<br></font>';
}
?>
if(empty($_GET)){
$ga="";
} else {
$site = $_GET['site'];
$ga = 'WHERE site="'.$site.'"';
}
//echo $ga;
date_default_timezone_set('Europe/Amsterdam');
setlocale(LC_ALL, 'nl_NL');
include('db.php');
// echo ' '.$host.' '.$dbnaam.' '.$dbww.' '.$db_name;
$link = mysqli_connect($host, $dbnaam, $dbww, $db_name);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db_name, $link);
$qr1 = mysql_query("SELECT * FROM counter ".$ga." ORDER BY num");
$rowsn = mysql_num_rows($qr1);
echo $rowsn.'<br>';
$a = 1;
for ($i=0; $i < $rowsn; $i++)
{
$row = mysql_fetch_array($qr1);
echo ' '.$row['num'].' - '.$row['datum'].' - '.$row['tijd'].' - '.$row['site'].' - '.$row['aantal'].' - '.
$a.' - <a target="_blank" href="http://www.ip-adress.com/ip_tracer/'.$row['ip'].'">'.$row['ip'].'</a> - '.$row
['resolutie'].' - '.$row['taal'].' - '.$row['browser'].' - '.$row['os'].'<br></font>';
}
?>
En 'Could not connect' lijkt mij meer er niet verbonden kan worden met de databaseserver.
Vervang mysql_error() eens door mysqli_error($link).
En natuurlijk moet je de rest van de mysql_**** functie ook aanpassen naar mysqli_****
Let wel op de parameters die deze functies gebruiken. Deze wijken soms wat af vergeleken met de oude functies.
Draait de mysql-server wel?
de server draait, ik kan phpmyadmin/ ook opstarten en er in komen
Verwijder eerst eens, zoals @Ariën aanhaalt, alle refereneties naar mysql_-functies.
is er een manier om mysql-server te testen ik hat het aan gepast maar geen veranderingen
Als je phpMyAdmin in kan komen, en je database in kan zien, dan draait MySQL/MariaDB sowieso.
Ook zou WAMP een grafische indicatie moeten geven of alle processen actief zijn. De kleur van het icoon in de taakbalk zou dit moeten reflecteren:
groen: apache + mysql actief
oranje: waarschijnlijk ligt apache plat
rood: alle processen zijn inactief
Mogelijk ligt de oorzaak van het probleem van wat je probeert te doen ook niet bij (de) MySQL(-server).
Als de webserver zelf om een of andere manier instabiel is geraakt wordt het ook erg lastig om alles van webserver tot script na te lopen om tot een vermoedelijke oorzaak te komen. Het zou daarom helpen als je aangeeft waar je nu precies vastloopt.
Je zou dus geen foutmeldingen moet krijgen dat MySQLi of PDO noodzakelijk is.
Of het slim is om conventioneel MySQL te blijven gebruiken is uiteraard een heel andere vraag. :)
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
include('db.php');
$link = mysqli_connect($host, $dbnaam, $dbww, $db_name);
if (!$link) {
die('Could not connect: ' . mysqli_connect_error());
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
}
$link = mysqli_connect($host, $dbnaam, $dbww, $db_name);
if (!$link) {
die('Could not connect: ' . mysqli_connect_error());
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
}
en db.php is goed
Quote:
Could not connect:
Gezien je script 'sterft' zal je die echo al sowieso niet zien.
Gewijzigd op 12/10/2017 22:58:40 door - Ariën -
( ! ) Warning: mysqli_connect(): (HY000/2002): No connection could be made because the target machine actively refused it.
en onder het block
Could not connect: No connection could be made because the target machine actively refused it.
Stel je firewall op je PC eens goed in zodat die poort 3306 toestaat.
Lokaal zou dat nooit een probleem moeten zijn. Het klinkt logischer dat het proces gewoon dood is, dat betekent actieve weigering immers.
wat zou ik er aan kunnen doen
Controleer je firewall.
En volgens mij bedoel je poort 3306
Gewijzigd op 15/10/2017 21:50:25 door - Ariën -
maar nu heb ik nog een fout in mysql_query
Krijg je een foutmelding? En hoe luidt deze dan?
Gewijzigd op 15/10/2017 23:00:16 door Ben van Velzen
en als je dit doet:
dan mag deze helemaal weg:
Je selecteert de database namelijk al in de bovenste.
Bij mysqli_query() moet je ook $link meegeven:
Code (php)
1
2
3
4
2
3
4
<?php
$qr1 = mysqli_query($link, "SELECT * FROM counter where site='$site' ORDER BY 'aantal'");
$rowsn = mysqli_num_rows($qr1);
?>
$qr1 = mysqli_query($link, "SELECT * FROM counter where site='$site' ORDER BY 'aantal'");
$rowsn = mysqli_num_rows($qr1);
?>
Op php.net kun je van alle functies nalezen welke parameters je moet meegeven. Ook staan bij alle functies voorbeelden. Kijk dan naar het Procedural style voorbeeld. ik zoek altijd gewoon met google op "php <functie naam>".
Gewijzigd op 15/10/2017 23:15:52 door Frank Nietbelangrijk
phpMyAdmin werkt wel en de MySQL / MariaDB processen zijn actief, maar je kunt vanuit PHP geen connectie maken? Ik zou zeggen dat je connectie-parameters niet kloppen dan. Ik neem aan dat je vanaf je lokale PHP-stack (onder Apache, via WAMP) een connectie probeert te maken naar je lokale database?
Er is een verschil tussen localhost en 127.0.0.1, dus misschien verschillen je grants van je connectie-parameters.
---
EDIT: never mind, nog steeds het eerder gegeven advies niet opgevolgd.
Weet je zeker dat MySQL echt actief is? Waaruit blijkt dit? Kun je ook dingen doen in phpMyAdmin?
Gewijzigd op 15/10/2017 23:43:08 door Thomas van den Heuvel