Hjälp med php och MysqlAdmin!!

Permalänk
Medlem

Hjälp med php och MysqlAdmin!!

Någon som är duktig på php och MysqlAdmin?

Jag håller på med en uppgift där jag ska hämta data från MysqlAdmin via php men jag har fått problem å alla data hämtas inte, vilket funkade vid ett tillfälle. Har kollat koden flera ggr utan att hitta felet. Jag är ansluten till databasen.

Permalänk
Medlem

Vill du ha hjälp så är det en fördel om du också postar koden som du misstänker är problemet.

Permalänk
Medlem

Den ända frågan jag ser i ditt inlägg är hurvida någon är duktig på php och mysqladmin?
Därtill skriver du att du försöker hämta data med php från mysqladmin,... Du ska hämta med php från mysql antar jag..?

Visa signatur

CPU: Ryzen 9 3900x Noctua NH-D14 MOBO: TUF Gaming X570-PLUS GPU: GTX 980 RAM: 32 GB 3200 MHz Chassi: R4 PSU: Corsair AX860 Hörlurar: SteelSeries 840 Mus: Logitech G502 Lightspeed V.v. nämn eller citera mig för att få svar.

Permalänk
Medlem
Skrivet av Xcorp:

Vill du ha hjälp så är det en fördel om du också postar koden som du misstänker är problemet.

Bra, förslag! Kommer att posta den så fort jag hinner..

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av Robyn:

Jag håller på med en uppgift där jag ska hämta data från MysqlAdmin via php

Varför inte använda PMA? Det gör exakt det du beskriver att du är ute efter.

Skrivet av Haptic:

Du ska hämta med php från mysql antar jag..?

mysqladmin är ett CLI. Om det är den man går genom som default eller om det är en extragrej kan jag dock inte svara på.

Permalänk
Medlem

Här är koden

<?php

echo " <h4 class='text-left text-primary'> Mer info om produkten </h4>";

$artikelnummer = $_GET['id'];

require 'connect.php';

$sql = "SELECT * FROM produkttabell WHERE artikelnummer ='$artikelnummer' ";

$table = mysqli_query($conn, $sql);

if (mysqli_num_rows($table) > 0) {
echo "<div>";
while($row = mysqli_fetch_assoc($table))
{
echo "<h3>". $row['produktnamn']. "</h3>";
echo "<br>";
echo "<p>" .$row['beskrivning']. "</p>";
echo "<br>";
echo "<h3>" .$row['pris']. "</h3>" ;
echo "<br>";
echo "<div>" .$row['bild']. "<div>" ;
}
echo "</div>";
} else {
echo "<h4 class='text-danger'> Inga poster funna i databasen!</h4>";
}
?>
//Säkert nåt litet fel i koden men vet ej vad. Jag är helt ny på kodning.

tilllägg
Permalänk
Medlem

@Haptic: ja, se koden nedan.

Permalänk
Inaktiv

@Robyn Har du kikat i loggfilen för php errors?

Permalänk
Medlem

Vad är problemet? Vit sida? Ingen output? Hur ser connect.php ut? Finns produkttabell osv? Vad får du ut om du kör or die mysql_error? Vilka fel har du eliminerat? Hjälp oss hjälpa dig, som man säger.

Permalänk
Avstängd

@Robyn:

$artikelnummer = $_GET['id'];

Du måste tänka på säkerheten.

Använd.

mysqli_real_escape_string($conn, $artikelnummer );

$artikelnummer = mysqli_real_escape_string($conn, $_GET['id']);

Jag hjälper inte när det är en skoluppgift bara ge råd.

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Permalänk
Medlem

Bara för att inflika så skulle jag hellre rekommendera att nyttja PDO och även prepared statements för att göra det lite smidigare och mer up-to-date.

Men inget måste

$sql = "SELECT * FROM produkttabell WHERE artikelnummer = $artikelnummer";

Permalänk
Medlem

Som ovan nämnde, läs på om prepared statements.

Skickades från m.sweclockers.com

Visa signatur

CPU: Ryzen 5600xGPU: 1080 TI ROG Strix RAM:2x16GB G.skill Trident @ 3600MHz MoBo: Asus B550FPSU: Corsair SF750
En resa till Nordkorea
2 dagar i Tjernobyl

Permalänk
Medlem
Permalänk
Medlem

svar

@BuruZ: enligt uppgiften ska jag använda MysqlAdmin.

Permalänk
Medlem

svar

@Raphaei:
1. vitsida; nej, jag får tbx mitt fel meddelande:

" Mer info om produkten
Du är ansluten
Inga poster funna i databasen!"

2. produkttabellen finns

3. connect.php
<?php

$dbHost ="localhost";
$dbUser ="changed";
$dbPass ="changed";
$dbName ="shopping";

$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);
if(!$conn){
die("Inte ansluten");
}
else{
echo "Du är ansluten";
}
?>
//Här verkar det funnka, då jag får tbx "du är ansluten"

Permalänk
Medlem

@Robyn: MysqlAdmin är bara ett "administrationsgränssnitt" för en mysqsl server.
php har en egen client för att prata med mysql.

Permalänk
Medlem
Permalänk
Medlem

Vad går du in på för länk?
Finns idt som du går in på?

Skickades från m.sweclockers.com

Permalänk
Avstängd

@Robyn
127.0.0.1/?id=1

Den ip adressen som går till php server och lägg till ?id=1 om du inte redan har gjort det?

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Permalänk
Avstängd

@Robyn

<?php echo " <h4 class='text-left text-primary'> Mer info om produkten </h4>"; $artikelnummer = $_GET['id']; require 'connect.php'; $sql = "SELECT * FROM produkttabell WHERE artikelnummer ='{$artikelnummer}' "; $table = mysqli_query($conn, $sql); if (mysqli_num_rows($table) > 0) { echo "<div>"; while($row = mysqli_fetch_assoc($table)) { echo "<h3>". $row['produktnamn']. "</h3>"; echo "<br>"; echo "<p>" .$row['beskrivning']. "</p>"; echo "<br>"; echo "<h3>" .$row['pris']. "</h3>" ; echo "<br>"; echo "<div>" .$row['bild']. "<div>" ; } echo "</div>"; } else { echo "<h4 class='text-danger'> Inga poster funna i databasen!</h4>"; } ?>

Prova koden.

Jag tror du måste använda {$artikelnummer} då jag själv använder det och det funkar för mig sen vet jag inte om man måste ha det.

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Permalänk
Medlem

fråga

..att jag ändrade "column name"(från stora till små bokstäver) i efter hand kan det ställa till det sen..? Hur gör jag det rätt i så fall, vill behålla små bokstäver.

Permalänk
Medlem

svar

@superegg: hjälpte inte tyvärr!

om man ändrar" column name"i efterhand kan det orsak problem sen..?

kodningen har ju funkat tidigare när jag testade

Permalänk
Medlem

Om du ska använda Mysqladmin så ska du inte använda någon PHP kod, utan köra sql-förfrågningar direkt från konsolen. Kolla denna sida:
https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html

Du skulle kunna testa skriva din select på detta sätt:
$artikelnummer = mysqli_real_escape_string($conn, $_GET['id']);
$sql = "SELECT * FROM produkttabell WHERE artikelnummer = '".$artikelnummer."'";
Det kan vara ett problem men själva strängen.

Är du helt säker nu att du har en tabell som heter "produkttabell" och att den har en column som heter "artikelnummer"? Samt att det faktiskt finns någon data i tabellen?

glömde fnärpar
Permalänk
Avstängd
Skrivet av Robyn:

@superegg: hjälpte inte tyvärr!

om man ändrar" column name"i efterhand kan det orsak problem sen..?

kodningen har ju funkat tidigare när jag testade

Gör debug test.

Ta bort

echo "<h3>". $row['produktnamn']. "</h3>"; echo "<br>"; echo "<p>" .$row['beskrivning']. "</p>"; echo "<br>"; echo "<h3>" .$row['pris']. "</h3>" ; echo "<br>"; echo "<div>" .$row['bild']. "<div>" ;

Kör med så läge

echo "data fond";

Om du får ut data fond så vet du att den lyckas hitta om inte så är det ett annat problem.

Edit om du ändra till små bokstäver så måste du även ändra tex "$row['bild']" med eller tvätt om inget får vara fel stavat.

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Permalänk
Medlem

Svar

Skrivet av wirlez:

Om du ska använda Mysqladmin så ska du inte använda någon PHP kod, utan köra sql-förfrågningar direkt från konsolen. Kolla denna sida:
https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html

Du skulle kunna testa skriva din select på detta sätt:
$artikelnummer = mysqli_real_escape_string($conn, $_GET['id']);
$sql = "SELECT * FROM produkttabell WHERE artikelnummer = '".$artikelnummer."'";
Det kan vara ett problem men själva strängen.

Är du helt säker nu att du har en tabell som heter "produkttabell" och att den har en column som heter "artikelnummer"? Samt att det faktiskt finns någon data i tabellen?

Ja, produkttabell å artikelnummer finns och det finns data i den.

Testat enligt ovan:svar
Du är ansluten SELECT * FROM produkttabell WHERE artikelnummer = ''//

Misstänker att "artikelnummer" hittats inte, har tidigare ändrat kolumn namn från "Artikelnummer" till artikelnummer, men har ändrat på samtliga ställen. Ska kanske skapa en ny tabell?

Skickades från m.sweclockers.com

tillägg
Permalänk
Medlem

@Robyn: Ja??? Du börjar surra om mysqladmin och php. Det är två skilda saker, har inget med varandra att göra.

Permalänk
Medlem

svar

@superegg:
echo" data fond" funkar

Jag har ändrat där det ska ändras efter namnbytet..

Permalänk
Medlem

Testa att endast köra "SELECT * FROM produkttabell" och se vad du får för resultat

Permalänk
Medlem

svar

@wirlez: vit sida allt försvann!!

Permalänk
Medlem
Skrivet av Robyn:

Ja, produkttabell å artikelnummer finns och det finns data i den.

Testat enligt ovan:svar
Du är ansluten SELECT * FROM produkttabell WHERE artikelnummer = ''//

Misstänker att "artikelnummer" hittats inte, har tidigare ändrat kolumn namn från "Artikelnummer" till artikelnummer, men har ändrat på samtliga ställen. Ska kanske skapa en ny tabell?

Skickades från m.sweclockers.com

artikelnummer = "\\ låter inte rätt.

Om tabellen heter produkttabell, och du SELECT från produkttabell, spelar det ingen roll om när var och hur de döptes.

Exporta tabellen så vi kan testa, jag ivf orkar inte manuellt höfta en tabell för att testa mig fram. Lägg in den i [code][/code]-brackets, eller ladda upp *.sql-filen nånstans.

Edit:
Sidnot, när jag stöter på liknande problem brukar jag echo ut själva kommandot i samband med att den skickas till databasen, dvs den omodifierade som skickas till databasen, på raden före eller efter själva databasanropet, bara för att se till att den är rätt konstruerad. Ofta är det nån vajsing med just den.