Avatar billede crx Nybegynder
30. april 2003 - 15:49 Der er 10 kommentarer og
1 løsning

data ind og ud

Jeg har fået oprettet en database som hedder crx. Nu har jeg så prøvet at få noget ind i den og ud igen.. der var nogle fejlmeldinger i starten men de er væk/løst nu. Min kode ser sådan her ud:

<?php
mysql_connect("localhost","crx","crx");
mysql_select_db("crx");
mysql_query("CREATE TABLE crx crx-data");
mysql_query("INSERT INTO (crx) VALUES ('test')");
mysql_query("INSERT INTO(crx VALUES test");
$test = mysql_query("SELECT crx FROM test");
print "test: $test";
mysql_close();
?>

hvad har jeg gjort galt ??
Avatar billede Slettet bruger
30. april 2003 - 15:52 #1
Prøv at kalde dine tabeller og felter noget forskelligt, det ville virkeligt gøre det letter for dig selv (og os)
Avatar billede fsconsult.dk Nybegynder
30. april 2003 - 15:59 #2
mysql_query returnerer en resource og IKKE data.

Prøv med:

$test = mysql_query("SELECT crx FROM test");
$row = mysql_fetch_row ($test);
echo "test: $row[0], $row[1], $row[2]";
Avatar billede crx Nybegynder
30. april 2003 - 16:02 #3
fsconsult.dk

jeg prøvede som du sagde/foreslog og der kom det her udaf:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource

:/
Avatar billede fsconsult.dk Nybegynder
30. april 2003 - 16:08 #4
Mærkeligt. Prøv med:

$query = "SELECT crx FROM test";
$query_result_handle = mysql_query ($query)
or die ('The query failed!  table_name must be a valid table name that exists in the database specified in mysql_select_db');

# make sure that we recieved some data from our query
$num_of_rows = mysql_num_rows ($query_result_handle)
or die ("The query: '$query' did not return any data");

print "The query: '$query' returned $num_of_rows rows of data.";

$row = mysql_fetch_row($query_result_handle); {
print "Value stored at the first index position of \$row: '$row[0]'";
print "Value stored at the second index position of \$row: '$row[1]'";
print "Value stored at the third index position of \$row: '$row[2]'";

(kopieret fra http://www.php.net/manual/en/function.mysql-fetch-row.php)
Avatar billede Slettet bruger
30. april 2003 - 16:13 #5
Hvis din tabel hedder crx (som det lader til) skal du jo også selecte fra den, og ikke fra test(som ikke er oprettet, men er en værdi du prøver at sætte ind?)

Prøv det her, jeg har ikke testet om det virker:

<?php

mysql_connect("localhost","crx","crx");
mysql_select_db("crx");

mysql_query("CREATE TABLE testtabel (
feltnavn varchar(14) default NULL
) TYPE=MyISAM;");

mysql_query("INSERT INTO (testtabel) VALUES ('test')");

$result = mysql_query("SELECT * FROM testtabel");
$row = mysql_fetch_array($result);
echo "test: $row['feltnavn']";
mysql_close();

?>
Avatar billede fsconsult.dk Nybegynder
30. april 2003 - 16:15 #6
eller:

    $result = mysql_query("SELECT crx FROM test");
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        printf ("ID: %s  Name: %s", $row[0], $row[1]); 
    }
Avatar billede crx Nybegynder
30. april 2003 - 16:19 #7
el_barto den sad lige i øjet nu er testtabellen oprettet kan du lgie give et eksempel på lidt data ind og ud igen abre så jeg ahr noget at lave mine egne efter.

Så skal du nok få dine point :P

sry  fsconsult.dk men jeg tror simpelt hen du forklarede det på et ALT for højt nivo for mig :(
Avatar billede crx Nybegynder
30. april 2003 - 16:22 #8
eller ups det har du :)
men øv der sker ikek noget den er kun oprettet der er igen tekst i den efter som  jeg kans e og den viser heller ikke noget på min side
Avatar billede Slettet bruger
30. april 2003 - 16:33 #9
Det var mig der havde lavet en fejl, prøv det her:

<?php

mysql_connect("localhost","crx","crx");
mysql_select_db("crx");

mysql_query("CREATE TABLE testtabel (
feltnavn varchar(14) default NULL
) TYPE=MyISAM;");

mysql_query("INSERT INTO testtabel (feltnavn) VALUES ('test')");

$result = mysql_query("SELECT * FROM testtabel");
$row = mysql_fetch_array($result);
echo "test: " .  $row['feltnavn'];
mysql_close();

?>
Avatar billede Slettet bruger
30. april 2003 - 16:36 #10
Iøvrigt har www.webcafe.dk nogle meget gode begynderartikler om MySQL hvis det er noget du vil arbejde videre med.

Men det er altdi godt at føje OR DIE(mysql_error()) til dine querys.

Men det mener jeg når du opretter, sletter eller indsætter tabeller/data.

Ovennævnte eksempel burde altså se således ud:

<?php

mysql_connect("localhost","crx","crx");
mysql_select_db("crx");

mysql_query("CREATE TABLE testtabel (
feltnavn varchar(14) default NULL
) TYPE=MyISAM;") OR DIE(mysql_error());

mysql_query("INSERT INTO testtabel (feltnavn) VALUES ('test')") OR DIE(mysql_error());

$result = mysql_query("SELECT * FROM testtabel") OR DIE(mysql_error());
$row = mysql_fetch_array($result) OR DIE(mysql_error());
echo "test: " .  $row['feltnavn'];
mysql_close() OR DIE(mysql_error());

?>

På den måde får du altid at vide hvilken fejl der var...
Avatar billede crx Nybegynder
11. maj 2003 - 11:10 #11
haløj
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester