Migrar MYSQL A MYSQLI PHP 7.0
Publicado por MDavidGutierrez (5 intervenciones) el 03/10/2018 02:58:03
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
function escribearchivo($serie, $numero, $pagos) {
$linea = NULL;
$conn = new mysqli(BD_HOST, BD_USERNAME, BD_PASSWORD, BD_DATABASE1);
$ssql = 'SELECT * FROM F_CFG';
$rs = $conn->query($ssql);
$datos = $rs->fetch_array(MYSQLI_BOTH);
$numerof = $numero;
$conn = new mysqli(BD_HOST, BD_USERNAME, BD_PASSWORD, BD_DATABASE1);
$ssql = "SELECT * FROM F_PCL WHERE TIPPCL='$serie' AND CODPCL=$numero";
$rs2 = $conn->query($ssql);
$ssql = "SELECT * FROM F_LPC WHERE TIPLPC='$serie' AND CODLPC=$numero";
$rs3 = $conn->query($ssql);
$numerof = str_pad($numero, 6, '0', STR_PAD_LEFT);
$codigo = 'pedidofactusolweb' . $serie . $numerof;
if(file_exists('BBDD/' . $datos['CPVCFG'] . $codigo . '.txt')) {
return 'Este pedido ya se finalizó anteriormente.';
}else{
if(is_writable('BBDD/' . $datos['CPVCFG'])) {
$fp = fopen('BBDD/' . $datos['CPVCFG'] . $codigo . '.txt', 'w');
$datos2 = $rs2->fetch_array(MYSQLI_BOTH);
//desde aqui empieza el problema. como declarar en php 7.0 estas consultas
//for ($i=0; $i<mysql_num_fields($rs2); $i++) { es es la expresion como se definia en php obsoleto
//$linea .= mysql_field_name($rs2, $i) . ':' . $datos2[mysql_field_name($rs2, $i)] . "\n";
}
while($datos3 = $rs3->fetch_array(MSQLI_BOTH)) {
// aqui se repite mi desafio como declarar en php 7.0 esta consulta en mysqli
//for($i=0; $i<mysql_num_fields($rs3); $i++) {
//$linea .= mysql_field_name($rs3, $i) . ':' . $datos3[mysql_field_name($rs3, $i)] . "\n";
}
$artlpc = strval($datos3['ARTLPC']);
$mqfart = $conn->query('SELECT USTART, CSTART FROM F_ART WHERE CODART=\'' . $artlpc . "'");
$mfaart = $mqfart->fetch_array(MYSQLI_BOTH);
if($mfaart['CSTART'] == 3) {
$cantidad = $mfaart['USTART'] - $datos3['CANLPC'];
$conn->query('UPDATE F_ART SET USTART=$cantidad WHERE CODART=\'' . $artlpc . "'");
}
}
$linea .= 'DOCPAGO:' . encriptar($pagos) . "\n";
$linea .= 'STATUS:OK';
$err = fwrite($fp, $linea);
fclose($fp);
if ($err != -1) {
chmod('BBDD/' . $datos['CPVCFG'] . $codigo . '.txt', 0666);
return '';
}else{
return 'No dispone de permisos para generar el pedido.';
}
}else{
return 'No se puede generar pedidos.';
}
}
}
$conn = new mysqli(BD_HOST, BD_USERNAME, BD_PASSWORD, BD_DATABASE1);
//Escribo los datos de la forma de pago
$pagos = '';
if(isset($_POST['banco']) or isset($_POST['tipo'])) {
if(isset($_POST['banco'])) {
$pagos = $_POST['banco'] . $_POST['sucursal'] . $_POST['dc'] . $_POST['cuenta'];
}else{
$pagos = $_POST['tipo'] . '-' . $_POST['numtarjeta'] . '-' . $_POST['codseg'] . ' Cad:' . $_POST['mes'] . '/' . $_POST['anio'];
}
}
//escribo los datos que faltan en el pedido
if($_SESSION['tipo_usuario'] != 'agente') {
if($_POST['entrega'] != '') {
$ssql = 'UPDATE F_PCL SET FECPCL=\'' . date("Y-m-d H:i:s") . '\', DIRPCL=' . $_POST['entrega'] . ', REFPCL=\'' . $_POST['referencia'] . '\', OB1PCL=\'' . $_POST['observaciones'] . '\', PPOPCL=\'' . $_POST['pedidopor'] . '\' WHERE TIPPCL=\'' . $_POST['serie'] . '\' AND CODPCL=' . $_POST['numero'];
}else{
$ssql = 'UPDATE F_PCL SET FECPCL=\'' . date("Y-m-d H:i:s") . '\', REFPCL=\'' . $_POST['referencia'] . '\', OB1PCL=\'' . $_POST['observaciones'] . '\', PPOPCL=\'' . $_POST['pedidopor'] . '\' WHERE TIPPCL=\'' . $_POST['serie'] . '\' AND CODPCL=' . $_POST['numero'];
}
}else{
if($_POST['entrega'] != '') {
$ssql = 'UPDATE F_PCL SET FECPCL=\'' . date("Y-m-d H:i:s") . '\', DIRPCL=' . $_POST['entrega'] . ', REFPCL=\'' . $_POST['referencia'] . '\', ALMPCL=\'' . $_POST['almacen'] . '\', OB1PCL=\'' . $_POST['observaciones'] . '\', PPOPCL=\'' . $_POST['pedidopor'] . '\' WHERE TIPPCL=\'' . $_POST['serie'] . '\' AND CODPCL=' . $_POST['numero'];
}else{
$ssql = 'UPDATE F_PCL SET FECPCL=\'' . date("Y-m-d H:i:s") . '\', REFPCL=\'' . $_POST['referencia'] . '\', ALMPCL=\'' . $_POST['almacen'] . '\', OB1PCL=\'' . $_POST['observaciones'] . '\', PPOPCL=\'' . $_POST['pedidopor'] . '\' WHERE TIPPCL=\'' . $_POST['serie'] . '\' AND CODPCL=' . $_POST['numero'];
}
}
$rs = $conn->query($ssql);
$ssql = "SELECT * FROM F_PCL WHERE TIPPCL='" . $_POST['serie'] . "' AND CODPCL=" . $_POST['numero'];
$rs = $conn->query($ssql);
$prueba = $rs->fetch_array(MYSQLI_BOTH);
//escribo el archivo y si todo está correcto le cambio el estado a enviado.
?>
Valora esta pregunta


0