Autor Zpráva
Pinqui
Profil
Dobrý den mám starý výpis mysql a chtěl bych ho dát do nového, bohužel se mi nedaří u mysql_result prosím o pomoc

funkce k připojení do databáze:
<?
function connectDB($db_prefix=''){
try {
    $join_db = new mysqli('localhost', 'root', 'vertrigo', ''.$db_prefix.'remake');
    $join_db->query("SET NAMES 'utf8';");
    if(!$join_db){
        throw new Exception('connect databases faild!');
    }
}
catch (Exception $e){
    echo  $e->getMessage();
}
// check mysqli_connect_errno
try {
    $join_db = new mysqli('localhost', 'root', 'vertrigo', ''.$db_prefix.'remake');
    $join_db->query("SET NAMES 'utf8';");
    if(mysqli_connect_errno()){
        throw new Exception('connect databases faild!');
    }
}
catch (Exception $e){
    echo  $e->getMessage();
}

return $join_db;
}
?>



poté starou funkci:

<?
function dbcount($field, $table, $conditions = "") {
	$cond = ($conditions ? " WHERE ".$conditions : "");
	$result = @mysql_query("SELECT Count".$field." FROM ".$table.$cond);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		$rows = mysql_result($result, 0);
		return $rows;
	}
}
?>


tu předělávám stylem (a dále si nevím rady):
<?
function dbcount($field, $table, $conditions = "") {
  $connect = connectDB();
  $cond = ($conditions ? " WHERE ".$conditions : "");
  $result = $connect->query("SELECT Count".$field." FROM ".$table.$cond);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		$rows = mysql_result($result, 0);
		return $rows;
	}
}
?>


předem děkuji
AM_
Profil
místo mysql_query je $spojeni->query, místo mysql_result budeš asi muset použít $result->fetch_row; a místo mysql_error() je $spojeni->error;
Za 2. odvykni si používat short open tagy; místo <? VŽDY <?php
Za 3. má nějaký význam, že ve funkci pro spojení databáze je celý kód 2x?
Pinqui
Profil
AM_
A nebude nějaký rozdíl ve výsledku mezi:
mysql_result($result, 0);

a
$result->fetch_row;


viz třeba určitý počet:
function dbresult($query, $row) {
	$result = @mysql_result($query, $row);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		return $result;
	}
}

tak potřebuji aby mi to fungovalo stejně..

ohledně toho <? ?> píšu všude <?php ?> jen tady že jsem vytahoval ty části tak jsem napsal v rychlosti <??>
kód nemusí být dvakrát jsou tam dvě možnosti chyb, nevím, zda je u toho rozdíl mezi :

if(!$join_db)

a
 if(mysqli_connect_errno())

tak jsem napsal obě možnosti, asi bude lepší nechat druhou možnost není-li tak?
Děkuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: