$sql="SELECT column_a FROM table";
$rs=odbc_exec($conn,$sql);
$arr = array(); //you need this in case it's empty, otherwise the foreach will throw an error
while( $col = odbc_fetch_array($rs) ) {
array_push($arr, $col);
}
foreach ($arr as $value) {
$sql2="SELECT * FROM table WHERE column_b = " . $value["column_a"];
$rs2=odbc_exec($conn,$sql2);
}
Thursday, April 22, 2010
Wednesday, April 21, 2010
Invalid cursor state, SQL state 24000 in SQLExecDirect
This worked when I was running Windows (WAMP), but when I moved to Ubuntu it started throwing this error:
Warning: odbc_exec() [function.odbc-exec]: SQL error: [unixODBC][FreeTDS][SQL Server]Invalid cursor state, SQL state 24000 in SQLExecDirect Error in SQL
The problem was that I had an odbc_exec inside another one.
Something like this:
$sql="SELECT column_a FROM table";
$rs=odbc_exec($conn,$sql);
while (odbc_fetch_row($rs)) {
$sql2="SELECT * FROM table WHERE column_b = " . odbc_result($rs,"column_a");
$rs2=odbc_exec($conn,$sql2); //would not work
}
What I did to fix it:
$sql="SELECT column_a FROM table";
$rs=odbc_exec($conn,$sql);
$arr = array(); //you need this in case it's empty, otherwise the foreach will throw an error
while( $col = odbc_fetch_array($rs) ) {
array_push($arr, $col);
}
foreach ($arr as $value) {
$sql2="SELECT * FROM table WHERE column_b = " . $value["column_a"];
$rs2=odbc_exec($conn,$sql2);
}
You are just going throw the array instead of the result set... Straight forward, but wanted to share it :)
Warning: odbc_exec() [function.odbc-exec]: SQL error: [unixODBC][FreeTDS][SQL Server]Invalid cursor state, SQL state 24000 in SQLExecDirect Error in SQL
The problem was that I had an odbc_exec inside another one.
Something like this:
$sql="SELECT column_a FROM table";
$rs=odbc_exec($conn,$sql);
while (odbc_fetch_row($rs)) {
$sql2="SELECT * FROM table WHERE column_b = " . odbc_result($rs,"column_a");
$rs2=odbc_exec($conn,$sql2); //would not work
}
What I did to fix it:
$sql="SELECT column_a FROM table";
$rs=odbc_exec($conn,$sql);
$arr = array(); //you need this in case it's empty, otherwise the foreach will throw an error
while( $col = odbc_fetch_array($rs) ) {
array_push($arr, $col);
}
foreach ($arr as $value) {
$sql2="SELECT * FROM table WHERE column_b = " . $value["column_a"];
$rs2=odbc_exec($conn,$sql2);
}
You are just going throw the array instead of the result set... Straight forward, but wanted to share it :)
Friday, April 16, 2010
Carrera por llegar primero
Si pudiéramos acordarnos de nuestra niñez, qué tan atrás quisieras recordar? Primaria? Pre-escolar? Maternal? Primeros pasos?
No sé, pero analizando las cosas un poco definitivamente no quisiera recordar tan atrás como desde que fui un espermatozoide, debe ser sin lugar a dudas la experiencia mas traumática del mundo.
Los acontecimientos deben ser algo así:
Tranquilos durmiendo o quizás en posición de "en sus marcas" si se enteran que el propietario de las bolas está en plena tirazón... ¿cómo saben la diferencia los espermatozoides entre un terremoto y un polvo? No importa, igual... damas y caballeros PARTIDA! arrancan 20 millones de espermatozoides, la carrera por llegar primero, sobrevivir! Peor que abrir puerta en un concierto de Metallica, sacando codos, mas horrible que el traslado de metro en Plaza Venezuela, empujando gente, que digo gente, HERMANOS!, si estás leyendo esto dejaste atrás a dos millones de espermatozoides familiares tuyos! Llegar al óvulo, UN óvulo! Insisto, tal Metallica...
Luego de llegar, ok llegaste, "ya" dirás? no! Tienes que ver cómo los demás mueren a tu alrededor, afuera del óvulo, a la verga!... Definitivamente no es algo que quisiera recordar. Que maltripeo... Será que me estoy acordando y tengo remordimiento? Si yo, que soy bajito fui el más fuerte en ese momento, ¿mis hermanos iban a ser más bajitos que yo? ¿Hice trampa? ¿Fue una apuesta o concurso, y se acordó que yo era el elegido?
Creo que me quedo con la opción del concurso, quién quiere ser millonario versión espermatozoide... No sé creo que ya me fui pa´ lo hondo...
Ser feto debe ser relajante, a menos que te toque una madre de esas que creen que trotando durante el embarazo van a quedar flacas después de aumentar 20 kilos (tengo, a partir de hoy, una creencia firme: los antojos son mojón, lo usan como excusa para comer), señoras lo siento mucho, díganle adiós al blue jean que les quedaba en bachillerato.
No sé, pero analizando las cosas un poco definitivamente no quisiera recordar tan atrás como desde que fui un espermatozoide, debe ser sin lugar a dudas la experiencia mas traumática del mundo.
Los acontecimientos deben ser algo así:
Tranquilos durmiendo o quizás en posición de "en sus marcas" si se enteran que el propietario de las bolas está en plena tirazón... ¿cómo saben la diferencia los espermatozoides entre un terremoto y un polvo? No importa, igual... damas y caballeros PARTIDA! arrancan 20 millones de espermatozoides, la carrera por llegar primero, sobrevivir! Peor que abrir puerta en un concierto de Metallica, sacando codos, mas horrible que el traslado de metro en Plaza Venezuela, empujando gente, que digo gente, HERMANOS!, si estás leyendo esto dejaste atrás a dos millones de espermatozoides familiares tuyos! Llegar al óvulo, UN óvulo! Insisto, tal Metallica...
Luego de llegar, ok llegaste, "ya" dirás? no! Tienes que ver cómo los demás mueren a tu alrededor, afuera del óvulo, a la verga!... Definitivamente no es algo que quisiera recordar. Que maltripeo... Será que me estoy acordando y tengo remordimiento? Si yo, que soy bajito fui el más fuerte en ese momento, ¿mis hermanos iban a ser más bajitos que yo? ¿Hice trampa? ¿Fue una apuesta o concurso, y se acordó que yo era el elegido?
Creo que me quedo con la opción del concurso, quién quiere ser millonario versión espermatozoide... No sé creo que ya me fui pa´ lo hondo...
Ser feto debe ser relajante, a menos que te toque una madre de esas que creen que trotando durante el embarazo van a quedar flacas después de aumentar 20 kilos (tengo, a partir de hoy, una creencia firme: los antojos son mojón, lo usan como excusa para comer), señoras lo siento mucho, díganle adiós al blue jean que les quedaba en bachillerato.
Subscribe to:
Posts (Atom)