Base de dados de MySQL que segura em PHP

| by John L | November 07, 2004
A maioria de Web site interativos requerem hoje em dia dados ser apresentados dinâmicamente e ser baseados interativamente na entrada do usuário. Por exemplo, um cliente pode necessitar registrar em um Web site de varejo para verificar sua história comprando. Neste exemplo, o Web site armazenaria dois tipos de dados para que o cliente para executar a verificação - os detalhes pessoais do início de uma sessão do cliente; e os artigos comprados do cliente. Estes dados podem ser armazenados em dois tipos de armazenamento - limas lisas ou bases de dados.

As limas lisas são somente praticáveis em muito baixo aos Web site do volume baixo porque as limas lisas têm 3 fraquezas inerentes:
  •  A inabilidade posicionar os dados. Isto faz necessário ler potencial sequencialmente todos os dados. Este é um problema principal se houver uns muitos dos registros na lima lisa porque o tempo requerido para ler a lima lisa é proporcional ao número dos registros na lima lisa.
  •  A inabilidade controlar eficientemente o acesso por usuários aos dados
  •  O armazenamento inefficient dos dados. Em a maioria de casos, os dados não seriam cifrados ou não foram comprimidos porque este exacerbate o problema No. 1 acima

A alternativa que é, em minha opinião, o único método praticável, é armazenar os dados em uma base de dados. Uma das bases de dados as mais prevalent no uso é MySQL. Os dados que são armazenados em uma base de dados podem fàcilmente ser posicionados, controlado e armazenado eficientemente. Além daquele, a maioria de bases de dados fornecem também um suite de acompanhar as utilidades que permitem que o administrador da base de dados mantenha a base de dados - por exemplo, apoio e restore, etc.

Os Web site scripted usando PHP são muito bons servidos para a base de dados de MySQL porque PHP tem um costume e um módulo integrado de MySQL que se comunicasse muito eficientemente com o MySQL. PHP pode também comunicar-se com o MySQL com o ODBC padrão porque MySQL é ODBC-compliant, entretanto, este não será tão eficiente quanto usando o módulo feito sob encomenda de MySQL para PHP.

O descanso deste artigo é um tutorial em como usar PHP:
  •  Conectar a uma base de dados de MySQL
  •  Executar indicações padrão do SQL de encontro à base de dados de MySQL

Começando uma sessão com MySQL

Antes que o certificado de PHP possa se comunicar com a base de dados para perguntar, introduzir ou atualizar a base de dados, o certificado de PHP necessitará primeiramente conectar ao usuário de MySQL e especificar que base de dados no usuário de MySQL a se operar sobre.

O mysql_connect () e as funções do mysql_select_db () são fornecidos para esta finalidade. A fim conectar ao usuário de MySQL, o nome do usuário/endereço; um username; e uma senha válida é requerida. Uma vez que uma conexão é bem sucedida, a base de dados necessita ser especificada.

Os seguintes 2 excerpts do código ilustram como executar a conexão do usuário e a seleção da base de dados:

@mysql_connect (“[servername]”, “[username]”, “[senha]”) ou dado (“não pode conectar ao DB! ”);

@mysql_select_db (“[databasename]”) ou dado (“não pode selecionar o DB! ”);

@ o operador é usado suprimir todas as mensagens de erro que o mysql_connect () e as funções do mysql_select_db () puderem produzir se um erro ocorrer. A função do dado () é usada terminar a execução do certificado e indicar uma mensagem de erro feita sob encomenda.

Executando indicações do SQL de encontro a uma base de dados de MySQL

Uma vez que a conexão e a seleção da base de dados são executadas com sucesso, o certificado de PHP pode agora proseguir operar sobre a base de dados usando indicações padrão do SQL. A função do mysql_query () é usada executando indicações padrão do SQL de encontro à base de dados. No seguinte exemplo, o certificado de PHP pergunta uma tabela chamada tbl_login na base de dados previamente selecionada para determinar se um par do username/senha fornecido pelo usuário for válido.

Suposição:

A tabela do tbl_login tem 3 colunas nomeadas início de uma sessão, senha, last_logged_in. A coluna do last_logged_in armazena o tempo que o usuário registrou por último no sistema./$username e variável de $passwd deve direita ser ajustado pelo formulário do início de uma sessão com o método do BORNE. Com a finalidade deste exemplo, nós estamos codificando manualmente it.$username = “john”; $passwd = “mypassword”; /nós geramos uma indicação SELETA do SQL para execution.$sql= " SELECIONAMOS * do tbl_login ONDE início de uma sessão = “”. $username. “” E senha = ““. $passwd. ”” “; /executar a indicação do SQL de encontro à base de dados atualmente selecionada./resultados será armazenado no $r variable.$r = mysql_query ($sql); /após o comando do mysql_query () executa, a variável de $r é examinado para determinar do mysql_query () era com sucesso executed.if (! $r) {$err=mysql_error (); cópia $err; saída ();}/se tudo for bem, verificação se a pergunta retornar um resultado - isto é se o par do username/senha for encontrado na base de dados. Os mysql_affected_rows () que a função é usada para esta finalidade./mysql_affected_rows () retornará o número das fileiras na tabela da base de dados que foi afetada pelo último queryif (mysql_affected_rows () par username/senha de ==0) {a cópia do “é inválida. Por favor tentativa outra vez. ”;}mais {/se bem sucedido, lido para fora a última vez entrada em uma variável de $last para a exposição ao usuário $row=mysql_fetch_array ($r); $last=$row [“last_logged_in”]; início de uma sessão da cópia “bem sucedido. Você entrou por último em”. $last.”. ”;}

O exemplo acima demonstrou como uma indicação SELETA do SQL é executada de encontro à base de dados selecionada. O mesmo método é usado executar outras indicações do SQL (por exemplo UPDATE, INSERÇÃO, SUPRESSÃO, etc.) de encontro à base de dados usando o mysql_query () e funções dos mysql_affected_rows ().

Article Source: http://www.articleset.com



About the Author

John L is the webmaster of http://www.bimmercenter.com..

daboss@bimmercenter.com » Read more articles by John L
You are welcome to publish or reprint this article free of charge, provided: