Arquivo da categoria: PHP

Undefined property: stdClass::($variablename)

Ao desenvolver um código utilizando a biblioteca PDO do PHP, me deparei com a seguinte mensagem de erro ao realizar uma iteração no resultado de uma consulta:

Notice: Undefined property: stdClass::$ds_nomeServidor in C:\xampp\htdocs\script.php on line 6127

O problema é que a consulta estava trazendo realmente o campo “ds_nomeServidor”. Contudo, ele era um campo nomeado utilizando o comando “AS” (Alias).

O problema acontece pois o PDO retorna o nome dos campos Alias todos em minúscula (lower case) e por esse motivo não encontrava o campo na consulta. Para solucionar, no momento de utilizar o campo, coloquei-o apenas com letras em minúscula e tudo passou a funcionar perfeitamente:

<?php
    echo $lobj_recordsetRow->ds_nomeservidor
?>

Se tiver dúvida de qual o nome que está sendo retornado em um recordset pelo PDO, utilize o código abaixo para listar todos:

<?php
    print "<pre>"; var_dump( $lobj_recordsetRow); exit;
?>
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

How to remove URL Anchor (Fragment) using PHP?

The best option is using the parse_url() function:

function removeURLFragment($pstr_urlAddress = '') {
    $larr_urlAddress = parse_url ( $pstr_urlAddress );
    return $larr_urlAddress['scheme'].'://'.(isset($larr_urlAddress['user']) ? $larr_urlAddress['user'].':'.''.$larr_urlAddress['pass'].'@' : '').$larr_urlAddress['host'].(isset($larr_urlAddress['port']) ? ':'.$larr_urlAddress['port'] : '').$larr_urlAddress['path'].(isset($larr_urlAddress['query']) ? '?'.$larr_urlAddress['query'] : '');
}

I think this is way better, since the knowledge of the structure of the URL is encapsulated. Chances are pretty large than using regexes or string manipulation, one will forget some scenario’s whereas dedicated methods are more reliable.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Analisando cada item de uma URL utilizando PHP

O PHP tem um função para analisar cada item de uma URL, ela se chama parse_url:

$larr_urlAddress = parse_url ( "http://meuusuario:minhasenha@www.google.com:88/dashboard/file.php?q=busca#item2" );

A função irá criar um array cujas informações poderão ser acessadas da seguinte forma:

echo "<BR>Scheme: ".$larr_urlAddress['scheme']; // No exemplo, retornará o valor http
echo "<BR>Host: ".$larr_urlAddress['host']; // No exemplo, retornará o valor www.google.com
echo "<BR>Port: ".$larr_urlAddress['port']; // No exemplo, retornará o valor 88
echo "<BR>User: ".$larr_urlAddress['user']; // No exemplo, retornará o valor meuusuario
echo "<BR>Password: ".$larr_urlAddress['pass']; //No exemplo, retornará o valor minhasenha
echo "<BR>Path: ".$larr_urlAddress['path']; // No exemplo, retornará o valor /dashboard/file.php
echo "<BR>Query: ".$larr_urlAddress['query']; // No exemplo, retornará o valor q=busca
echo "<BR>Fragment: ".$larr_urlAddress['fragment']; // No exemplo, retornará o valor item2
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como imprimir o conteúdo de um array em HTML utilizando PHP

Se você quiser ver o conteúdo de um array isso pode ser feito através do comando “print_r”, mas o conteúdo aparece sem formatação no HTML obrigando a visualizar o conteúdo do código fonte da página para visualizar a estrutura formatada do Array.

Mas é possível visualizar de forma direta, basta utilizar o código abaixo:

echo "<pre>".htmlentities( print_r($Array, true) )."</pre>";

O conteúdo do Array será visto como o exemplo abaixo, sem precisar apelar para o truque de visualizar o código fonte.

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 0
        )

    [1] => Array
        (
            [0] => 0
            [1] => 1
        )
)
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como saber o dia, mês, ou o ano de uma data específica usando PHP?

Este código permite ajustar qual o formato de entrada utilizando a mascara ‘d/m/Y’:

<?
echo DateTime::createFromFormat('d/m/Y', '25/12/2016')->format('d'); // Dia
echo DateTime::createFromFormat('d/m/Y', '25/12/2016')->format('m'); // Mês
echo DateTime::createFromFormat('d/m/Y', '25/12/2016')->format('Y'); // Ano (4 digitos)
?>
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como saber se um determinado ano é bissexto utilizando o PHP?

Existem muitas soluções na Internet para esse problema, mas você sabia que existe uma solução nativa da própria linguagem? Continue lendo

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como importar o arquivo de resultados da Mega Sena utilizando o PHP

A Caixa libera um arquivo HTML contendo todos os jogos e números sorteados, mas como fazer para utilizá-lo em seu aplicativo? Continue lendo

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Qual a forma correta de inserir uma quebra de linha seguindo o padrão ASCII? (“\r\n” ou “\n\r”)

Utilize o “\r\n”.

Atenção: A partir da versão 5.0.2, o PHP passou a fornecer a constante PHP_EOL para representar o fim de linha. Que pode ser utilizado da seguinte forma:

<? echo 'Linha 1'.PHP_EOL.'Linha 2'; ?>
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:xampphtdocscode.php on line XXX

Este problema na maioria das vezes é causado por uma consulta incorreta, desta forma ela não está podendo retornar dados e montar o recordset.

Imprima a consulta que você está tentando realizar utilizando o comando echo (no PHP) e execute-a no banco de dados através de um aplicativo como o phpMyAdmin, HeidiSQL, etc.

No meu caso, o erro da consulta foi a falta de uma virgula entre os campos que eu estava tentando consultar (d.Code e d.Title):

SELECT
    d.Code
    d.Title
FROM
    document d
    INNER JOIN project p ON (d.ProjectID = p.ID)
WHERE
    p.Code = 'cf23df2207d99a74fbe169e3eba035e633b65d94'
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:xampphtdocscode.php on line XXX

Este problema na maioria das vezes é causado por uma consulta incorreto, desta forma ela não está podendo retornar dados e montar o recordset.

Imprima a consulta que você está tentando realizar e execute-a no banco de dados através de um aplicativo como o phpMyAdmin, HeidiSQL, etc.

No meu caso, o erro da consulta foi a falta de uma virgula entre os campos que eu estava tentando consultar (d.Code e d.Title):


SELECT
d.Code
d.Title
FROM
document d
INNER JOIN project p ON (d.ProjectID = p.ID)
WHERE
p.Code = 'cf23df2207d99a74fbe169e3eba035e633b65d94'
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).