Antworten auf deine Fragen:
Neues Thema erstellen

MySQL - Can't connect to local MySQL server through socket

d3mueller

PC-Freak :D

Hi, habe ein Problem mit einer Datenbank ausgabe:

Es kommen diese 3 Meldungen:

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /mnt/webg/e3/36/52873436/htdocs/artikel.php on line 71

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mnt/webg/e3/36/52873436/htdocs/artikel.php on line 71

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/webg/e3/36/52873436/htdocs/artikel.php on line 72


Line 71 und 72 sind diese hier:
Code:
$sqlrows = "SELECT * FROM artikel";
$result = mysql_query($sqlrows);
$zeilen = mysql_num_rows($result);

Das komische ist, er gibt die Daten schon noch aus. Der Teil ist einfach der Teil, um eine Seiten-funktion zu machen. Also das es mehrere Seiten gibt.

Hier der komplette Code:

Code:
<?php
 
error_reporting(E_ALL);
ini_set('display_errors', 1);

$db = @new MySQLi('server', 'user', 'pw', 'dbname');
if (mySQLi_connect_errno()) {
    die('in artikel.php: Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error());
}
//Hier setze ich $start und $step
if (isset($_GET['start'])) {
	$start = $_GET['start'];
} else {
	$start = 0;
}
$step = 4; // Wie viele Einträge gleichzeitig?


$sqlrows = "SELECT * FROM artikel";
$result = mysql_query($sqlrows);
$zeilen = mysql_num_rows($result);


for ($i = 0; $zeilen > $i; $i = $i  + $step) {
	$anf = $i + 1;
	$end = $i + $step;
	if ($end > $zeilen) {
		$end = $zeilen;
	}
	if ($anf == $end) {
		echo " [ <a href=\"artikel.php?start=$i\">$end</a> ] ";
	} else {
		echo " [ <a href=\"artikel.php?start=$i\">$anf - $end</a> ] ";
	}
}
?>

</p></section>

<?php

$sql = "SELECT * FROM artikel ORDER BY datum DESC LIMIT $start, $step";


$result = $db->query($sql);
if (!$result) {
    die ('Konnte den Folgenden Query nicht senden: '.$sql."<br />\nFehlermeldung: ".$db->error);
}
if (!$result->num_rows) {
    echo "<fieldset class=\"fehler\">Es sind keine Newsbeiträge vorhanden</fieldset>";
} else {
    while ($row = $result->fetch_assoc()) {
               echo $row['titel'] . "<br>" . $row['inhalt'];
    }
}
?>
<br><br>
<?php 
 $start = $start + $step;
echo "<p>";
if ($start < $zeilen) { 
    echo "[ <a href=\"index.php?action=news&start=$start\"> &Auml;ltere Eintr&auml;ge</a> ]";
}
@$newStart = $_GET['start'] - $step;
if (isset($_GET['start']))
{
  $start = intval($_GET['start']);
  if ($start<0)
  {
    $start = 0;
  }
} 

if ($newStart<0)
{
  $newStart = 0;
}
if ($newStart!=$start)
{
  if (isset($_GET['start'])) {    
  echo "[ <a href=\"index.php?action=news&start=$newStart\"> Neuere Eintr&auml;ge</a> ]";
  }
} 
?>
Das komische ist, das das hier auf einer anderen Webseite von mir perfekt funktioniert. (gehostet bei cwcity.de). Die jetzt hier ist bei Strato.
Warum geht das mit den Seiten nicht? Danke schon mal.

Lg
Dennis
 

Duddle

Posting-Frequenz: 14µHz

AW: MySQL - Can't connect to local MySQL server through socket

Deine Verbindung wird per MySQLi aufgebaut, das ist die objektorientierte Variante ab PHP5. Danach rufst du aber mysql_query() auf, nicht mysqli_query(), deshalb kann die Funktion die Verbindung nicht nutzen weil es eine andere erwartet.

Entweder ersetzt du also deine mysql_*-Funktionen durch die entsprechenden mysqli_*-Versionen, oder du nutzt mysql_connect() statt dem Datenbank-Objekt.


Duddle
 

d3mueller

PC-Freak :D

AW: MySQL - Can't connect to local MySQL server through socket

Hi, danke.
Jetzt habe ich an die beiden Funktionen noch ein i angehängt, jetzt kommen aber diese Fehlermeldungen:
Warning: mysqli_query() expects at least 2 parameters, 1 given in /mnt/webg/e3/36/52873436/htdocs/artikel.php on line 71

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /mnt/webg/e3/36/52873436/htdocs/artikel.php on line 72


Ich bin halt nicht so gut in PHP und MySQL, lerns grad^^
und mit mysql_connect() funktioniert es leider auch nicht.

Ich frage mich nur, warum es bei der anderen Seite funktioniert
 

Duddle

Posting-Frequenz: 14µHz

AW: MySQL - Can't connect to local MySQL server through socket

Das Handbuch erklärt die Versionen von mysqli_query(), sowie die notwendigen und optionalen Parameter mit Beispielen. Schau dir die Unterschiede für prozeduralen und objektorientierten Stil an.

Ich frage mich nur, warum es bei der anderen Seite funktioniert
Entweder ist der Code anders oder der Server behandelt ihn anders. Zum Beispiel könnte es so eingerichtet sein dass MySQLi-Varianten automatisch auf MySQL umgelenkt werden um dem Nutzer keine Probleme zu schaffen.



Duddle
 

d3mueller

PC-Freak :D

AW: MySQL - Can't connect to local MySQL server through socket

Hab das jetzt so abgeändert:

Code:
$result = $db->query("SELECT * FROM artikel");
$zeilen = mysqli_num_rows($result);
Und jetzt kommt keine Fehlermeldung mehr. Und scheint alles zu funktionieren. :D

Danke
 

Duddle

Posting-Frequenz: 14µHz

AW: MySQL - Can't connect to local MySQL server through socket

Noch hübscher wäre es jetzt, durchgängig objektorientiert zu arbeiten.
PHP:
$result = $db->query("SELECT * FROM artikel");
$zeilen = $result->num_rows;
Das ist dann zwar keine Funktion mehr, sondern ein Attribut des $result-Objektes, aber das macht ja keinen großen Unterschied.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben