mysql

Status
Niet open voor verdere reacties.

pkoelewijn

Nieuwe gebruiker
Lid geworden
16 jun 2011
Berichten
4
hi iedereen

Ik wil gegevens invoegen in tabel dan kijken naar mijn gegevens.
Ik heb een tabel test: 2 rijen id (int) en naam (varchar, 15)
ik maakte form.php.

error:
Ik krijg lijn 8 invoegdata.php error.
geen data wordt toegevoegd in de tabel

probleem:
ik kan geen connectie maken met mysql tabel test rij:name

//localconnect:
PHP:
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="test"; // Table name

// Connect to server and select database.
@mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
mysql_select_db("$db_name")or die("cannot select DB");

echo"succesful connection";
?>

//invoegdata.php:
PHP:
<?php

ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

include('localconnect.php');

$sql="INSERT INTO $tbl_name(name)VALUES('$name')";
$result=mysql_query($sql);

//check if query successful
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='viewdata.php'>View data</a>"; // link to view data page
}

else {
echo "ERROR";
}
mysql_close();
?>

//bekijkdata.php
PHP:
able width="300" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>bekijk data | <a href="form.php">form</a> </strong></td>
</tr>
</table>
<br>

<?php

ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

include('localconnect.php');

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);

while($rows=mysql_fetch_array($result)){
?>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td><table width="300" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td>ID</td>
<td>:</td>
<td><? echo $rows['id']; ?></td>
</tr>
<tr>
<td width="117">Name</td>
<td width="14">:</td>
<td width="357"><? echo $rows['name']; ?></td>
</tr>
<tr>
</table></td>
</tr>
</table>
<BR>
<?
}
mysql_close(); //close database
?>

alvast bedankt voor uw tijd
 
Laatst bewerkt:
Je hebt aanhalingstekens om de tabelnaam; dat mag niet. Het is "INSERT INTO tabel", niet "INSTERT INTO 'tabel' "
 
connect mysql

bedankt voor uw antwoord

Ik heb de aanhalingstekens wegehaald toch error.

error:
Undefined variable: " name in C:\wamp\helpmij\invoegdata.php on line 8 "
//invoegdata.php

[SQL]
CREATE TABLE `test`.`test` (
`id` INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 15 ) NOT NULL
) ENGINE = MYISAM ;

[/SQL]

bedankt voor uw tijd
 
Laatst bewerkt:
Als dat het hele script is, dan is $name inderdaad niet gedefineerd.

Ik weet niet waar je naam vandaan moet komen maar ik vermoed dat de user die opgeeft, en dat je hem dus eerst op moet halen in de POST of GET data.
 
connect mysql

bedankt voor uw antwoord

ik wil dat eerst user vult de form.php dan wordt toegevoegd naar database test.
maar ik krijg een error:
Notice: Undefined variable: name in C:\wamp\www/helpmij\invoegdata.php on line 8

//form.php
PHP:
<!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>Data invullen</title>
</head>

<body>
<table width="492" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong><font size="4" face="Arial">Test data </font> </strong></td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>

<form id="form1" name="form1" method="post" action="invoegdata.php">
<input type="hidden" name="submitted" value="true" />
<td>
<table width="400" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td width="74">Name</td>
<td width="6">:</td>
<td width="328"><input name="name" type="text" id="name" size="40" /></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit" /> </td>
<td>
<p align="center"><input type="reset" name="Submit2" value="Reset" /></td>
</tr>
</table>
<table width="477" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td>
<p align="center"><strong><a href="bekijkdata.php">kijk data</a> </strong></td>
</tr>
</table>
</form>

</table>
</body>
</html>
 
Laatst bewerkt:
Dat klopt, dat komt omdat waarden die in een formulier ingevuld zijn geplaatst worden in de array $_POST, met als key de naam van het veld.

Dus de waarde die je zoekt krijg je zo:

PHP:
$_POST['name'];

En niet met $name :)
 
connect mysql

bedankt voor uw snelle antwoord

bedankt voor uw tijd en hulp
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan