• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

php Fatal error: Uncaught Error: Call to undefined function mysql_query()

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
6,055 wizyt
pytanie zadane 4 lutego 2017 w PHP przez liledusty Obywatel (1,430 p.)
edycja 4 lutego 2017 przez liledusty

Witam, mam pewien problem. Próbuję zrobić system dodawania postów na mojej stronie ale mam problem z wyświetleniem danych z tabeli (Fatal error: Uncaught Error: Call to undefined function mysql_query()). Nie wiem czy jest to błąd połączenia z bazą czy coś innego. 

Kod:

?php
include("polacz.php");
$query = mysql_query("SELECT * FROM posty ORDER BY id");
while($rekord = mysql_fetch_array($query))
{
$naz .= '<li><a href="posty.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>';
}
echo '<ul>'.$naz.'</ul>';
?>

Plik polacz.php

<?php
	
	$host = "localhost";
	$db_user = "root";
	$db_password = "";
	$db_name = "systempostow";
	


?>

 

3 odpowiedzi

+1 głos
odpowiedź 4 lutego 2017 przez Boshentz Początkujący (460 p.)
wybrane 5 lutego 2017 przez liledusty
 
Najlepsza

Witaj,

Problem o jakim informuje cie parser to "niezidentyfikowana funkcja / brak funkcji mysql_query"

Być może hosting na którym masz stronę nie obsługuje funkcji mysql_

Druga sprawa, to brak instrukcji, która mówi o połączeniu się z bazą, lub wybraniu odpowiedniej tabeli.

Poniżej podaję przykład zastosowania dla proceduralnych funkcji mysqli_

polacz.php

<?php
     
    $host = "localhost";
    $db_user = "root";
    $db_password = "";
    $db_name = "systempostow";
     
    $link = mysqli_connect($host, $db_user, $db_password, $db_name);
    
 
?>

Kod:

<?php
include("polacz.php");
$query = mysqli_query($link, "SELECT * FROM posty ORDER BY id");
while($rekord = mysqli_fetch_array($query))
{
$naz .= '<li><a href="posty.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>';
}
echo '<ul>'.$naz.'</ul>';
?>

Pozdrawiam :)

komentarz 5 lutego 2017 przez liledusty Obywatel (1,430 p.)
Wszystko teraz działa jak należy. Dziękuję bardzo za okazaną mi pomoc. Pozdrawiam również! :)
+1 głos
odpowiedź 4 lutego 2017 przez Boshi VIP (100,240 p.)
Tłumaczę z angielskiego..

mysqli_query spodziewa się conajmniej dwóch parameterów a dostał jeden

http://php.net/manual/en/mysqli.query.php
komentarz 4 lutego 2017 przez liledusty Obywatel (1,430 p.)

Przepraszam wkleiłem błędny kod jedna litera a tyle zmienia, tutaj prawidłowy

<?php
include("polacz.php");
$query = mysql_query("SELECT * FROM posty ORDER BY id");
while($rekord = mysql_fetch_array($query))
{
$naz .= '<li><a href="posty.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>';
}
echo '<ul>'.$naz.'</ul>';
?>

 

komentarz 4 lutego 2017 przez liledusty Obywatel (1,430 p.)
A błąd to:\

Fatal error: Uncaught Error: Call to undefined function mysql_query()
+1 głos
odpowiedź 4 lutego 2017 przez gremlin Dyskutant (7,600 p.)
Najpierw używasz mysqli a potem mysql, może dlatego.
komentarz 4 lutego 2017 przez liledusty Obywatel (1,430 p.)

Wkleiłem błędny kod jedna litera a tyle zmienia...

<?php
include("polacz.php");
$query = mysql_query("SELECT * FROM posty ORDER BY id");
while($rekord = mysql_fetch_array($query))
{
$naz .= '<li><a href="posty.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>';
}
echo '<ul>'.$naz.'</ul>';
?>

Błąd: 

Fatal error: Uncaught Error: Call to undefined function mysql_query()

komentarz 4 lutego 2017 przez Boshi VIP (100,240 p.)
php 7 nie obsługuje takich staroci jak mysql query
komentarz 4 lutego 2017 przez gremlin Dyskutant (7,600 p.)

Chodziło mi raczej o to, by to drugie zmienić na mysqli a nie pierwsze na mysql :)

Czegoś mi tu jednak brakuje, przywołujesz polacz.php ale nigdzie się nie łączysz z bazą.

<?php
include("polacz.php");
$polaczenie = new mysqli ($host, $db_user, $db_password, $db_name);
$query = $polaczenie->query("SELECT * FROM posty ORDER BY id");
while($rekord = mysqli_fetch_array($query))
{
$naz .= '<li><a href="posty.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>';
}
echo '<ul>'.$naz.'</ul>';
?>

 

komentarz 5 lutego 2017 przez liledusty Obywatel (1,430 p.)
Dzięki za cenną informacje.

Podobne pytania

0 głosów
0 odpowiedzi 1,380 wizyt
0 głosów
2 odpowiedzi 1,698 wizyt
0 głosów
1 odpowiedź 837 wizyt

93,434 zapytań

142,429 odpowiedzi

322,661 komentarzy

62,797 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...