Добрый день ,Не силен в программировании , но необходимо накалякать небольшую программку для вывода данных в БД Mysql.
вот исходник что уже получилось:
[root@localhost ~]# cat my.c
#include <my_global.h>
#include <mysql.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
MYSQL *conn;
conn = mysql_init(NULL);
mysql_real_connect(conn, "localhost", "root", "123", "test", 0, NULL, 0);
do {
char cmd[1000];
char name[40];
char phone[40];
// char phone[20];
printf("Enter your name:\n");
fgets(name,40,stdin);
printf("Enter phone:\n");
fgets(phone,40,stdin);
snprintf(cmd, 999, "INSERT INTO staff2 VALUES('%s','%s')",name,phone);
mysql_query(conn,cmd);
} while (0);
mysql_close(conn);
}
Далее что программа должна делать , собственно что и делает:
При запуске
[root@localhost ~]# ./output-file2
Enter your name: Тут я ввожу данные с пробелами
Enter phone: Тут ввожу данные с пробелами
А вот теперь самое интересное , при выводе команды SELECT * FROM staff2; в MySQL
mysql> SELECT * FROM staff2;
+------------------+----------------+
| name | phone |
+------------------+----------------+
| Sergey Ptushkin
| 913 933 54 16
|
+------------------+----------------+
1 row in set (0.00 sec)
Данные заполняются криво а именно хотелось вот т.к
mysql> SELECT * FROM staff2;
+------------------+----------------+
| name | phone |
+------------------+----------------+
| Sergey Ptushkin | 913 933 54 16 |
| | |
| | |
+------------------+----------------+
1 row in set (0.00 sec)
Что для этого нужно сделать ?
Спасибо