SQL SERVER es un motor de base de datos robustas y deben tener en cuenta que ahi en pequeñas cosas que cambia cuando hacen las consulta por ejemplo en mysql existe el LIMIT pero en SQL SERVER tenemos el TOP esto solo lo digo como referencia para que lo tengan en cuenta.
los script que mostrare sera de una forma de programacion estructural ya luego pueden armarlo con clases MVC
conexion
$server="LUISRODRIGUEZ-PC"; $database="NOMBREBASEDEDATOS"; $user="USER"; $password="PASS"; $cn=odbc_connect("Driver={SQL Server};Server=$server;Database=$database;", $user, $password);
la parte de arriba tenemos la conexion a la base de datos
para ponerlos practicos hagamos que vamos hacer un login.
//tomamos los post del fromulario que seria para el login
$correo= addslashes(trim($_POST["correo"]));
$pw=addslashes(trim($_POST["pw"]));
//la consulta para verificar si existe el usuario
//ejecutamos la consulta
$SQL=odbc_exec($cn,"select * from usuarios where correo='".$correo."' and password='".md5($pw)."'");
//lo ejecutamos y lo pedidos que nos retorne los datos en array
$row= odbc_fetch_array($SQL);
//conteo de registro si ahi mas de 1 va a pasar
if (odbc_num_rows($SQL))
{
$data[estado]="ok";
$_SESSION["id"]=$row["id"];
$_SESSION["username"]=$row["username"];
}
else
{
$data[estado]="error";
}
//lo devolvemos en json
echo json_encode($data);
entonces esto no es nada dificil pero para que hagamos equivalencias con las consultas tipicas cuando trabajamos con mysql.
MYSQL | SQL SERVER | |
---|---|---|
mysql_query | odbc_exec | puede hacer consultas, insert , delete, update |
mysql_fetch_array | odbc_fetch_array | solo en el caso de hacer consultas con esto pueden obtener la data y claro que tambien es para hace bucle |
mysql_num_rows | odbc_num_rows | conteo de registros y para complementar abajo deje una funcion por un bug que tiene |
ahora aqui debemos tener en cuenta que cuando pedimos el numero de resultados por alguna razon nunca manda el numero correcto creo que siempre manda con un registro menos pero entonces por que en mi consulta funciono? es que nunca hice comparacion con numeros por que si fuera asi estariamos en ese problema pero siempre va a ver la necesidad de saber cuantos registros reales ahi para eso aqui les dejo una clase que les ayudara con eso.
function odbc_record_count($sql_id, $CurrRow = 1)
{
if ($NumRecords=odbc_num_rows($sql_id)<0) {
$NumRecords = 0;
odbc_fetch_row($sql_id,0);
while (odbc_fetch_row($sql_id))
{
$NumRecords++;
}
odbc_fetch_row($sql_id, $CurrRow);
}
return $NumRecords;
}