Ik stuur gegevens met PHP naar een SQL-file, zie onderstaand eendeel van de code.
De php-files en de SQL-file staan op de server
In phpMyAdmin is te zien dat de code werkt en de SQL wordt aangevuld met data. Alle variabelen worden juist verwerkt, en het script loopt t/m "Successful";

Echter...op de server wordt deze SQL-file niet geupdate.
VRAAG: WAT DOE IK FOUT ???

deel van de code (excl.inloggegevens):

<?php
$host="localhost";

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

$name="klara";
$email="[email protected]";

// Insert data into mysql
//$sql="INSERT INTO $tbl_name(name, lastname, email)VALUES('$name', '$lastname', '$email')";
$sql="INSERT INTO $tbl_name(name, email)VALUES('$name', '$email')";
$result=mysql_query($sql);

// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
//echo "<a href='insert.php'>Back to main page</a>";
}

else {
echo "ERROR";
}
?>

<?php
// close connection
mysql_close();
Kan je het script even tussen codetags zetten?
- Aar - op 31/07/2013 12:20:49

Kan je het script even tussen codetags zetten?



Done :)
Waar staat $tbl_name gedefinieerd?
Probeer dit eens.
Let vooral op de quotes!

<?php
// Connect to server and select database.
$con = mysqli_connect($host, $username, $password, $db_name) or die('Can not connect to database');

$name = 'klara';
$email = '[email protected]';

// Insert data into mysql
$sql = "INSERT INTO " . $tbl_name . " 
			(
			name, 
			email
			)
		VALUES
			(
			'" . $name . "', 
			'" . $email . "'
			)";
$result = mysqli_query($con, $sql);

// if successfully insert data into database, displays message "Successful".
if ($result) {
	echo 'Succesvol geplaatst<br>';
	//echo "<a href='insert.php'>Back to main page</a>";
} else {
	echo 'Fout tijdens toevoegen';
}
?>


Ik heb vooral quotes verplaatst en verwijderd.
De $tbl_name is wat vaag (mij niet bekend), maar wellicht deed een spatie erachter een hoop goed.

Daarnaast gelijk naar mysqli_ overgestapt aangezien mysql_ binnenkort gaat verdwijnen.
Thanks.
In phpMyAdmin werkt het goed, maar op de server wordt deSQL (weer) niet aangevuld.

Ik krijg de volgende error_log:

[31-Jul-2013 12:57:16 Europe/Berlin] PHP Warning: mysql_close(): no MySQL-Link resource supplied in /home/blabla/public_html/connectTest2.php on line 40


<?php

$host="localhost"; // Host name
$username="..."; // Mysql username
$password="..."; // Mysql password
$db_name="..."; // Database name
$tbl_name="..."; // Table name

// Connect to server and select database.
$con = mysqli_connect($host, $username, $password, $db_name) or die('Can not connect to database');

$name = 'klara';
$email = '[email protected]';


// Insert data into mysql
$sql = "INSERT INTO " . $tbl_name . "
(
name,
email
)
VALUES
(
'" . $name . "',
'" . $email . "'
)";
$result = mysqli_query($con, $sql);

// if successfully insert data into database, displays message "Successful".
if ($result) {
echo 'Succesvol geplaatst<br>';
//echo "<a href='insert.php'>Back to main page</a>";
} else {
echo 'Fout tijdens toevoegen';
}
?>

<?php
// close connection
mysql_close();
?>
Die mysql_close is natuurlijk onnodig.
Wat zie je verder verschijnen bij de uitvoer van het script?
"Succesvol geplaatst" ??
helaas, hetzelfde resultaat %^&$# :(
Wat zie je dan na de uitvoer van het script?
En wat voor types zijn de velden in je database?
nogmaals, waar staat $tbl_name gedefinieerd :P
nogmaals, wat is de letterlijke output van de pagina? lege pagina? error? succesvol toegevoegd?

Reageren