Какво не е наред?

bganonymous

Registered
Някой може ли да ми каже какво не е наред в този прост PHP код? :o
Код:
<?php
$my_username = $urow['username'];
$my_id = $urow['id'];
$to_user = $oubp['username'];
$to_id = $oubp['id'];

$check_friend = mysql_query("SELECT * FROM `friends` WHERE from_user = '$my_username', from_id = '$my_id', to_user = '$to_user', to_id = '$to_id'");

if(mysql_num_rows($check_friend) == 0) {
echo '<a href="add_friend.php?id=$to_id" title="Добавете $to_user в приятели"><img src="images/add_friend.png" border="0" /></a>';
}

else {
echo '<a href="delete_friend.php?id=$to_id" title="Изтрийте $to_user от приятели"><img src="images/delete_friend.png" border="0" /></a>';
}

?>

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in...
 
ronaldinho_880 каза:
Казва ти, че вместо да е равно на 0 трябва да е равно на 1.
Глупости. Пише, че 1 първия параметър на функцията трябва да е MySQL ресурс, но му е подаден boolean.

@bganonymous var_dump-ни $check_friend и копирай върнатият текст.
Сигурен съм, че е boolean, но е важно дали е false или true.

Ако е false, значи има проблем със връзката с базата данни.
 
eLite каза:
ronaldinho_880 каза:
Казва ти, че вместо да е равно на 0 трябва да е равно на 1.
Глупости. Пише, че 1 първия параметър на функцията трябва да е MySQL ресурс, но му е подаден boolean.

@bganonymous var_dump-ни $check_friend и копирай върнатият текст.
Сигурен съм, че е boolean, но е важно дали е false или true.

Ако е false, значи има проблем със връзката с базата данни.
Как точна става това?
 
Код:
	 <?php
$my_username = $urow['username'];
$my_id = $urow['id'];
$to_user = $oubp['username'];
$to_id = $oubp['id'];

$check_friend = mysql_query("SELECT * FROM `friends` WHERE from_user = '$my_username', from_id = '$my_id', to_user = '$to_user', to_id = '$to_id'");

if(mysql_num_rows($check_friend) == 0) {
var_dump($check_friend);
echo '<a href="add_friend.php?id=$to_id" title="Добавете $to_user в приятели"><img src="images/add_friend.png" border="0" /></a>';
}

else {
echo '<a href="delete_friend.php?id=$to_id" title="Изтрийте $to_user от приятели"><img src="images/delete_friend.png" border="0" /></a>';
}

?>
и кажи какво излиза
 
vinsbg каза:
..
и кажи какво излиза

Така няма да излезне.

PHP:
$check_friend = mysql_query("SELECT * FROM `friends` WHERE from_user = '$my_username', from_id = '$my_id', to_user = '$to_user', to_id = '$to_id'");

var_dump($check_friends);

if(mysql_num_rows($check_friend) == 0) {
 
Хора, отчайващи сте :D в десет поста не можете да се обясните :D

Според документацията mysqli_query връща boolean(false) само при грешка в заявката. Затва се използва

PHP:
mysql_query(...) or die('mysql error:' . mysql_error());

И за да ти спестя един пост "може ли да ми го направиш", заповядай:

PHP:
$check_friend = mysql_query("SELECT * FROM `friends` WHERE from_user = '$my_username', from_id = '$my_id', to_user = '$to_user', to_id = '$to_id'") or die(mysql_error());

+ Вече във всяка трета тема някой препоръчва използването на mysqli_* функциите. Май аз ставам един от тях...

Едит: снощи съм бил заспал и не съм видял, че съм написал mysql_query вместо mysql_error. Поправих се.
 
bganonymous каза:
http://store.picbg.net/pubpic/AF/5B/ba17f80cc615af5b.png :(
Грешка от недоглеждане, извинете за което: http://web-tourist.net/forum/viewtopic.php?p=657802#657802
 
anonimen каза:
bganonymous каза:
http://store.picbg.net/pubpic/AF/5B/ba17f80cc615af5b.png :(
Грешка от недоглеждане, извинете за което: http://web-tourist.net/forum/viewtopic.php?p=657802#657802
Сега пък какво иска!? - http://store.picbg.net/pubpic/D6/C0/620b16c86184d6c0.png
 
PHP:
$query= "SELECT * FROM `friends` WHERE from_user = '$my_username', from_id = '$my_id', to_user = '$to_user', to_id = '$to_id'";
$check_friend = mysql_query($query) or die("query: $query<br>".mysql_error());
Какво то дава?
 
anonimen каза:
PHP:
$query= "SELECT * FROM `friends` WHERE from_user = '$my_username', from_id = '$my_id', to_user = '$to_user', to_id = '$to_id'";
$check_friend = mysql_query($query) or die("query: $query<br>".mysql_error());
Какво то дава?
Пак ми дава грешка... Вече не знам...
 
То е ясно че дава грешка!!!
Въпроса е какво точно изкарва...
 
PHP:
$query= "SELECT * FROM `friends` WHERE from_user = '$my_username' AND from_id = '$my_id' AND to_user = '$to_user' AND to_id = '$to_id'";

вместо запетаи, AND.
 

Back
Горе