• 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()

Object Storage Arubacloud
0 głosów
5,547 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 715 wizyt
0 głosów
2 odpowiedzi 1,467 wizyt
0 głosów
1 odpowiedź 629 wizyt

92,552 zapytań

141,399 odpowiedzi

319,534 komentarzy

61,938 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...