PHP MySQL vraag...
Geprobeerd wel nu, maar opgelost nog steeds niet. Heb nu ff een "or die" functie erachter geplakt, en die trapt hij dus nu af...
M s post even wat je nu aan code hebt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if ($_SERVER['REQUEST_METHOD']=="POST")
{
if (empty($_POST['username']) || empty($_POST['first_name']) || empty($_POST['last_name']) || empty($_POST['email']) || empty($_POST['confirmemail']) || empty($_POST['password']) || empty($_POST['confirmpassword']))
{
echo "you forgot to fill in some fields";
}
elseif ($_POST['email'] != ($_POST['confirmemail']))
{
echo "email and email confirm dont match";
}
elseif ($_POST['password'] != ($_POST['confirmpassword']))
{
echo "pass and pass confirm dont match";
}
else
{
mysql_query("INSERT INTO users (username, first_name, last_name, password, email) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string($_POST['first_name'])."', '".mysql_real_escape_string($_POST['last_name'])."', '".mysql_real_escape_string($_POST['password'])."', '".mysql_real_escape_string($_POST['email'])."')") or die("nothing happened");
echo "created";
echo mysql_error();
}
}
if ($_SERVER['REQUEST_METHOD']=="POST")
{
if (empty($_POST['username']) || empty($_POST['first_name']) || empty($_POST['last_name']) || empty($_POST['email']) || empty($_POST['confirmemail']) || empty($_POST['password']) || empty($_POST['confirmpassword']))
{
echo "you forgot to fill in some fields";
}
elseif ($_POST['email'] != ($_POST['confirmemail']))
{
echo "email and email confirm dont match";
}
elseif ($_POST['password'] != ($_POST['confirmpassword']))
{
echo "pass and pass confirm dont match";
}
else
{
mysql_query("INSERT INTO users (username, first_name, last_name, password, email) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string($_POST['first_name'])."', '".mysql_real_escape_string($_POST['last_name'])."', '".mysql_real_escape_string($_POST['password'])."', '".mysql_real_escape_string($_POST['email'])."')") or die("nothing happened");
echo "created";
echo mysql_error();
}
}
als je de die op regel 22 veranderd in:
or die("Nothing happened: <br>" . mysql_error());
wat krijg je dan?
or die("Nothing happened: <br>" . mysql_error());
wat krijg je dan?
Gewijzigd op 01/10/2011 13:30:43 door Ger van Steenderen
Argh... nu krijg ik dit :
nothing happened:
Unknown column 'first_name' in 'field list'
the kolom first_name bestaat gewoon.
nothing happened:
Unknown column 'first_name' in 'field list'
the kolom first_name bestaat gewoon.
Kijk eens wat hier uit komt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = "SHOW COLUMNS FROM users";
$result = mysql_query($sql);
echo '<pre>';
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
echo '</pre>';
?>
$sql = "SHOW COLUMNS FROM users";
$result = mysql_query($sql);
echo '<pre>';
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
echo '</pre>';
?>
Dit komt eruit:
Array
(
[Field] => id
[Type] => int(11)
[Null] => NO
[Key] => PRI
[Default] =>
[Extra] => auto_increment
)
Array
(
[Field] => username
[Type] => varchar(50)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
Array
(
[Field] => hashed_password
[Type] => varchar(40)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
Array
(
[Field] => id
[Type] => int(11)
[Null] => NO
[Key] => PRI
[Default] =>
[Extra] => auto_increment
)
Array
(
[Field] => username
[Type] => varchar(50)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
Array
(
[Field] => hashed_password
[Type] => varchar(40)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
Dat is dus niet jouw tabel denk ik maar de standaard users tabel van mysql
hernoem jouw users tabel naar _users (of iets dergelijks) en pas de naam aan in het script, dan denk ik dat je probleem ver opgelost is.
Toevoeging op 01/10/2011 15:17:45:
je kan ook in de sql de databasenaam ervoor zetten (SELECT .... FROM databasenaam.users .....)
hernoem jouw users tabel naar _users (of iets dergelijks) en pas de naam aan in het script, dan denk ik dat je probleem ver opgelost is.
Toevoeging op 01/10/2011 15:17:45:
je kan ook in de sql de databasenaam ervoor zetten (SELECT .... FROM databasenaam.users .....)
Ik heb het geprobeerd maar weet niet hoe ik die naam moet veranderen. Had een nieuwe database aangemaakt en de tabellen geimporteerd maar dan importeer ik natuurlijk de tabel users wat me weer terug brengt naar het probleem!
M s op 01/10/2011 16:05:51:
Ik heb het geprobeerd maar weet niet hoe ik die naam moet veranderen. Had een nieuwe database aangemaakt en de tabellen geimporteerd maar dan importeer ik natuurlijk de tabel users wat me weer terug brengt naar het probleem!
Das meer een kwestie van de dump aanpassen, in neem aam dat je een sql dump maakt:
deze aanpassen in kladbok (zoeken en vervangen users met _users).
Ps.
Ikzelf gebruik dbtools manager om mijn databases te beheren daar kan ik de naam van de tabel wijzigen.
Toevoeging op 01/10/2011 17:00:43:
dbtools manager is echt een aanrader als je veel database servers moet beheren.
Je moet alleen wel remote access tot de database hebben
Gewijzigd op 01/10/2011 17:01:27 door Ger van Steenderen




