eerste stap(je) Database Mysql

Status
Niet open voor verdere reacties.

dreamweaverfan

Gebruiker
Lid geworden
16 jun 2010
Berichten
226
Ik werk met usb webserver... ik snap amper tot nog niks van die tabellen
ik heb een VOORBEELD database aangemaakt, en wil nu proberen met behulp van een uitgebreide tutorial het aan te roepen

wat blijkt je moet heel veel meer doen
ik moet een tabel maken, en dan weet ik hoeveel velden invullen..

ik geef jullie de code die ik over geschreven heb

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
function dC(){
$dbUser = "root";
$dbPass = "usbw";
$dbName = "VOORBEELD";
$dbHost = "localhost";
if(!($link = mysql_connect($dbHost,$dbUser,$dbPass))){
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
if(!mysql_select_db($dbName,$link)) {
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
}
dC();
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10";
$result = mysql_query($query);
while ($name_row = mysql_fetch_row($result)){
print("$name_row[0] $name_row[1]<BR>");
}
?>
</body>

</html>

ik krijg ook een foutmelding op rij 27

Wie kan mij helpen
 
Welke foutmelding krijg je?
Wordt er wel iets gevonden?
zet onder regel 26 eens var_dump($result);
en zet de inhoud van de var_dump eens hier neer.
 
deze foutmelding na aanpassen

bool(false)
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Users\jeroen\Desktop\usb webserver\root\my1.php on line 28


PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
function dC(){
$dbUser = "root";
$dbPass = "usbw";
$dbName = "VOORBEELD";
$dbHost = "localhost";
if(!($link = mysql_connect($dbHost,$dbUser,$dbPass))){
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
if(!mysql_select_db($dbName,$link)) {
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
}
dC();
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10";
$result = mysql_query($query);
var_dump($result);
while ($name_row = mysql_fetch_row($result)){
print("$name_row[0] $name_row[1]<BR>");
}
?>
</body>

</html>
 
Er kunnen geen records gevonden worden.

Dus dan is de foutmelding logisch.
 
Een lege recordset hoort ook een result-type terug te geven, alleen de loop te skippen. Ik denk dat ie de query echt niet goed uitgevoerd heeft.

Doe eens dit op regel 27:

PHP:
echo mysql_error();

Dan zou je de fout moeten zien.
 
beste

hartelijk dank voor jullie adviezen:

Ik ben blij dat jullie me tips geven, maar ik snap nogmaals niks van die velden en tabbelen

Hij geeft nu deze fout melding, ik weet niet of de door uw gegeven code vooruitgang heeft geboekt:

Parse error: syntax error, unexpected $end in C:\Users\jeroen\Desktop\PHP 5\usb webserver\root\my1.php on line 35


PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
function dC(){
$dbUser = "root";
$dbPass = "usbw";
$dbName = "VOORBEELD";
$dbHost = "localhost";
if(!($link = mysql_connect($dbHost,$dbUser,$dbPass))){
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
if(!mysql_select_db($dbName,$link)) {
error_log(mysql_error(), 3,"/tmp/phplog.err");
echo mysql_error(); 

}
dC();
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10";
$result = mysql_query($query);
var_dump($result);
while ($name_row = mysql_fetch_row($result)){
print("$name_row[0] $name_row[1]<BR>");
}
?>
</body>

</html>
 
PHP:
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10;";

Ik had niet goed gekeken. er moest nog een ; na je query.
 
sorry dat is het niet

Maar ik zal u niet teveel lastig vallen

ik krijg nogsteeds die foutmelding op rij 26

Parse error: syntax error, unexpected '=' in C:\Users\jeroen\Desktop\PHP 5\usb webserver\root\my1.php on line 26


PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
function dC(){
$dbUser = "root";
$dbPass = "usbw";
$dbName = "VOORBEELD";
$dbHost = "localhost";
if(!($link = mysql_connect($dbHost,$dbUser,$dbPass))){
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
if(!mysql_select_db($dbName,$link)) {
error_log(mysql_error(), 3,"/tmp/phplog.err");
echo mysql_error(); 

}
dC();
$query; = "SELECT titel, regisseur FROM films WHERE film_ID < 10";
$result = mysql_query($query);
var_dump($result);
while ($name_row = mysql_fetch_row($result)){
print("$name_row[0] $name_row[1]<BR>");
}
?>
</body>

</html>

moet ik hier geen tabellen invullen in mijn database, of velden invullen?
 
regel 26:
Code:
$query; = "SELECT titel, regisseur FROM films WHERE film_ID < 10";

";" (zonder quotes) geeft aan dat het een einde van de regel is.
deze heb je al staan na $query.
oftewel: hij denkt dat de regel afgelopen is en vervolgens ga je een "=" plaatsen.
oftewel haal de ";" weg

verbeterd:
Code:
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10";
 
ehm het spijt me

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
function dC(){
$dbUser = "root";
$dbPass = "usbw";
$dbName = "VOORBEELD";
$dbHost = "localhost";
if(!($link = mysql_connect($dbHost,$dbUser,$dbPass))){
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
if(!mysql_select_db($dbName,$link)) {
error_log(mysql_error(), 3,"/tmp/phplog.err");
echo mysql_error(); 

}
dC();
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10";
$result = mysql_query($query);
var_dump($result);
while ($name_row = mysql_fetch_row($result)){
print("$name_row[0] $name_row[1]<BR>");
}
?>
</body>

</html>

de foutmelding blijft

HTML:
Parse error: syntax error, unexpected $end in C:\Users\jeroen\Desktop\PHP 5\usb webserver\root\my1.php on line 35
 
klein voorbeeldje: Je moet nog meer invullen:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
Nieuw Tabel aanmaken in Voorbeeld:<br />

Dan krijg je twee tekst velden met <b>Naam: & Aantal rijen</b> Naam: Film_ID<br />
Daarna krijg je deze velden:
<p>
<form id="form1" name="form1" method="post" action="">
  <p>Veld: 
    <input type="text" name="1" id="1" /> 
    <input type="text" name="textfield" id="textfield" />
  </p>
  <p>Type: 
    <input type="text" name="Typ 1" id="Typ 1" />
    <input type="text" name="Typ 2" id="Typ 2" />
  </p>
  <p>Lengtes/Waarde
    *
    <input type="text" name="12" id="12" />
    <input type="text" name="2" id="2" />
  </p>
  <p>Standaard Waarde 2 
    <select name="list 1" id="list 1">
      <option>Geen</option>
      <option>Als aangegeven</option>
      <option>NULL</option>
      <option>Current Timestamp</option>
    </select>
    <select name="list 2" id="list 2">
      <option>Geen</option>
      <option>Als aangegeven</option>
      <option>NULL</option>
      <option>Current Timestamp</option>
    </select>
  </p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</form>
</body>
</html>

deze velden bedoel ik
 
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
function dC(){
$dbUser = "root";
$dbPass = "usbw";
$dbName = "VOORBEELD";
$dbHost = "localhost";
if(!($link = mysql_connect($dbHost,$dbUser,$dbPass))){
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
if(!mysql_select_db($dbName,$link)) {
error_log(mysql_error(), 3,"/tmp/phplog.err");
echo mysql_error(); 

}
dC();
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10";
$result = mysql_query($query);
var_dump($result);
while ($name_row = mysql_fetch_row($result)){
print("$name_row[0] $name_row[1]<BR>");
}
?>
</body>

</html>

de foutmelding blijft

HTML:
Parse error: syntax error, unexpected $end in C:\Users\jeroen\Desktop\PHP 5\usb webserver\root\my1.php on line 35

lees de foutmeldingen goed: unexpected $end on line 35.
ga je kijken naar regel 35.
je komt erachter dat dat de laatste regel is.
$end wil zeggen dat er iets met een einde is, oftewel: je einde van de pagina is niet goed. meestal betekent dit dat je iets geopend hebt en niet gesloten (ga accolades tellen). en zo ook hier: in regel 12 open je een functie, maar die sluit je nergens af.
heel vervelend maar je bent een "}" (zonder quotes) aan het einde vergeten

EDIT: kleine edit, heb een raar woord veranderd in "vervelend"
 
nou dank u

hoewel u me z***lig vind wil ik u toch bedanken

maar het klopt dat ik dan toch een wit scherm krijg?

want op de vraag van die velden reageert niemand?

en dat wou ik eig weten

wat moet ik bijv kiezen bij standaard waarde, index NULL, of Collatie?

Graag advies
 
jij bent niet vervelend, maar die ene accolade vind ik vervelend voor je. dat is iets heel anders ;)

hij print aan het einde wat hij gevonden heeft, als hij niks heeft gevonden zal hij ook niks printen en komt er dus een witte pagina ;)

standaard waarde moet je helemaal zelf weten, ik gaf zelf nooit standaard waardes aan dingen in de database. maar het kan nodig zijn.
 
@dreamweaverfan

Ik(ik denk eerlijk gezegd meerdere personen) krijgen het idee dat je geen idee hebt wat je allemaal aan het doen bent.
Je bent eerst bezig om een query werkend te krijgen, dit lukt niet. Vervolgens ga je vragen wat je bij de velden voor in phpmyadmin moet invullen. Het kan aan mij liggen maar als je een de inhoud van de query wilt ophalen lijkt het mij handig om eerst te beginnen met alle velden in phpmyadmin goed te zetten. Hierna pas kijken naar de inhoud uit de database halen en tonen op je scherm via php.

Ik geef aan dat je nog een ; mist na je query. Jij zegt dat hij aangepast is, maar nog een melding krijg. Je hebt na mijn opmerking de ; achter $query gezet. $query is een variabel en geen query. Hij heet in dit geval query. Dit is je query: SELECT titel, regisseur FROM films WHERE film_ID < 10; en zoals je ziet heb ik hem daar achter geplaast.

Ik stel voor om je eerst eens wat meer te gaan verdiepen in phpmyadmin, MySQL en PHP.

http://www.websitemaken.be/index.php?page=show_item&topic=4
 
ik probeer het nog 1 keer:

In de tutorial stellen ze dit:

1.Maak m.b.v. phpMyAdmin een tabel films in de VOORBEELD database. De films tabel bevat de volgende velden: film_ID (int, autoincrement, not null), titel(varchar(255) null), regisseur (varchar(255) null).
2.Plaats minimaal vier films naar keuze in de database.
3.Gebruik de code om een film.php bestand te maken dat de database leest.

1: maak een tabel films: maak in velden Film_ID oke en daarna komt er tekst die ik niet begrijp
 
Kijk nu krijg ik het idee dat je wat meer moeite doet.
Ik zla je het proberen uit te leggen. Ik neem aan dat je phpmyadmin voor je hebt en hier 3 nieuwe velden aan toevoegd.


Ik pak deze er even uit: film_ID (int, autoincrement, not null)
het eerste is het veldnaam(film_ID), de 2e(int) is het type, 3e(autoincrement) is A_I vinkje aanzetten, 4e (not null) is default.

het enige verschil bij de andere 2 is dat de 255 de waarde/lengte is dit is het aantal tekens die max. ingevuld kunnen worden.
 
ik heb het in 1 ingevult

SQL-query:

CREATE TABLE `voorbeeld`.`De films` (

`film_ID` VARCHAR( 255 ) NULL DEFAULT NULL
) ENGINE = MYISAM Pirates of the CaribianPirates of the Caribian2Pirates of the Caribian3Pirates of the Caribian4;



MySQL retourneerde:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Pirates of the Caribian
Pirates of the Caribian 2
Pirates of the Caribian 3
P' at line 1

Veld

deze foutmelding:

of moet ik drie veldnamen standaarden lengte's en die dingen allemaal invoeren

verder hoop ik dat ik een beetje in de goeie richting zit anders ben ik uw tijd aan het verknoeien
 
srry

veranderingen !!

CREATE TABLE `voorbeeld`.`films` (
`film_ID` INT( 255 ) NULL AUTO_INCREMENT ,
`film 1` INT NOT NULL ,
`film 2` INT NOT NULL ,
`film 3` INT NOT NULL ,
`film 4` INT NOT NULL ,
PRIMARY KEY ( `film_ID` )
) ENGINE = MYISAM ;



het is gelukt

maar als ik deze code bekijk:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
function dC(){
$dbUser = "root";
$dbPass = "usbw";
$dbName = "VOORBEELD";
$dbHost = "localhost";
if(!($link = mysql_connect($dbHost,$dbUser,$dbPass))){
error_log(mysql_error(), 3,"/tmp/phplog.err");
}
if(!mysql_select_db($dbName,$link)) {
error_log(mysql_error(), 3,"/tmp/phplog.err");
echo mysql_error();

}
dC();
$query = "SELECT titel, regisseur FROM films WHERE film_ID < 10;";

$result = mysql_query($query);
var_dump($result);
while ($name_row = mysql_fetch_row($result)){
print("$name_row[0] $name_row[1]<BR>");
}
}
?>
</body>

</html>

krijg ik nog steeds een wit scherm

Graag advies
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan